Devices and methods for rotary encoder calibration

ABSTRACT

One example method involves generating a calibration control signal for controlling an actuator configured to rotate a first platform about an axis. The calibration control signal causes the actuator to rotate the first platform at least one complete rotation about the axis. The method also involves receiving encoder output signals. The encoder output signals are indicative of angular positions of the first platform about the axis about the axis. The method also involves receiving sensor output signals from an orientation sensor mounted on the first platform. The sensor output signals are indicative of a rate of change to an orientation of the orientation sensor. The method also involves determining calibration data based on given sensor output signals received from the orientation sensor during the at least one complete rotation. The calibration data is for mapping the encoder output signals to calibrated measurements of the angular positions of the first platform about the axis.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority to U.S. Provisional Patent ApplicationNo. 62/818,738 filed on Mar. 14, 2019, the entirety of which isincorporated herein by reference.

BACKGROUND

Unless otherwise indicated herein, the materials described in thissection are not prior art to the claims in this application and are notadmitted to be prior art by inclusion in this section.

Rotary joint devices are often used for transmission of power and/orelectrical signals between one structure and another structure in anelectromechanical system that operates by causing a relative rotationbetween the two structures (e.g., stator and rotor). Example systemsthat employ rotary joint devices include remote sensing systems (e.g.,RADARs, LIDARs, etc.) and robotic systems (e.g., for directingmicrophones, speakers, robotic components, etc.), among others.

SUMMARY

In one example, a method is disclosed. The method involves generating acalibration control signal for controlling an actuator. The actuator isconfigured to rotate a first platform about an axis of rotation. Thecalibration control signal causes the actuator to rotate the firstplatform at least one complete rotation about the axis. The method alsoinvolves receiving encoder output signals from an encoder. The encoderoutput signals are indicative of angular positions of the first platformabout the axis. The method also involves receiving sensor output signalsfrom an orientation sensor mounted on the first platform. The sensoroutput signals are indicative of a rate of change to an orientation ofthe orientation sensor. The method also involves determining calibrationdata based on given sensor output signals received from the orientationsensor during the at least one complete rotation. The calibration datais for mapping the encoder output signals to calibrated measurements ofthe angular positions of the first platform about the axis.

In another example, a system is disclosed. The system comprises a firstplatform and an actuator configured to rotate the first platform aboutan axis. The system also comprises an encoder configured to provideencoder output signals indicative of angular positions of the firstplatform about the axis. The system also comprises an orientation sensormounted on the first platform and configured to provide sensor outputsignals indicative of a rate of change to an orientation of theorientation sensor. The system also comprises a controller configured tocause the system to perform operations. The operations includegenerating a calibration control signal for controlling the actuator.The calibration control signal causes the actuator to rotate the firstplatform at least one complete rotation about the axis. The operationsalso include determining calibration data based on given sensor outputsignals received from the orientation sensor during the at least onecomplete rotation. The calibration data is for mapping the encoderoutput signals to calibrated measurements of the angular positions ofthe first platform about the axis.

In yet another example, a non-transitory computer readable medium isdisclosed. The non-transitory computer readable medium storesinstructions that, when executed by one or more processors of acomputing system, cause the computing system to perform operations. Theoperations comprise generating a calibration control signal forcontrolling an actuator configured to rotate a platform about an axis.The calibration control signal causes the actuator to rotate theplatform at least one complete rotation about the axis. The operationsalso comprise receiving encoder output signals from an encoder. Theencoder output signals are indicative of angular positions of theplatform about the axis. The operations also comprise receiving sensoroutput signals from an orientation sensor mounted on the platform. Thesensor output signals are indicative of a rate of change to anorientation of the orientation sensor. The operations also comprisedetermining calibration data based on given sensor output signalsprovided by the orientation sensor during the at least one completerotation. The calibration data is for mapping the encoder output signalsto calibrated measurements of the angular positions of the platformabout the axis.

In still another example, a system is disclosed. The system comprisesmeans for generating a calibration control signal for controlling anactuator. The actuator is configured to rotate a first platform about anaxis of rotation. The calibration control signal causes the actuator torotate the first platform at least one complete rotation about the axis.The system also comprises means for receiving encoder output signalsfrom an encoder. The encoder output signals are indicative of angularpositions of the first platform about the axis. The system alsocomprises means for receiving sensor output signals from an orientationsensor mounted on the first platform. The sensor output signals areindicative of a rate of change to an orientation of the orientationsensor. The system also comprises means for determining calibration databased on given sensor output signals received from the orientationsensor during the at least one complete rotation. The calibration datais for mapping the encoder output signals to calibrated measurements ofthe angular positions of the first platform about the axis.

These as well as other aspects, advantages, and alternatives, willbecome apparent to those of ordinary skill in the art by reading thefollowing detailed description, with reference where appropriate to theaccompanying figures.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1A illustrates a vehicle, according to an example embodiment.

FIG. 1B is another illustration of the vehicle of FIG. 1A.

FIG. 2 is a simplified block diagram of a vehicle, according to anexample embodiment.

FIG. 3 is a simplified block diagram of a device that includes a rotaryjoint, according to an example embodiment.

FIG. 4A illustrates a side view of a device that includes a rotaryjoint, according to an example embodiment.

FIG. 4B illustrates a cross-section view of the device in FIG. 4A.

FIG. 4C illustrates another cross-section view of the device in FIG. 4A.

FIG. 4D illustrates yet another cross-section view of the device in FIG.4A.

FIG. 5 is a conceptual illustration of the relationship betweenorientations of a rotor platform and outputs from a magnetic fieldsensor, according to an example embodiment.

FIG. 6 is a cross-section view of another device that includes a rotaryjoint, according to an example embodiment.

FIG. 7 is a cross-section view of yet another device that includes arotary joint, according to an example embodiment.

FIG. 8 is a cross-section view of still another device that includes arotary joint, according to an example embodiment.

FIG. 9 is a simplified block diagram of a sensor unit that includes anadjustable sensor platform, according to an example embodiment.

FIG. 10 is a flowchart of a method, according to an example embodiment.

FIG. 11 is a flowchart of another method, according to an exampleembodiment.

DETAILED DESCRIPTION

The following detailed description describes various features andfunctions of the disclosed implementations with reference to theaccompanying figures. In the figures, similar symbols identify similarcomponents, unless context dictates otherwise. The illustrativeimplementations described herein are not meant to be limiting. It may bereadily understood by those skilled in the art that certain aspects ofthe disclosed implementations can be arranged and combined in a widevariety of different configurations.

I. Overview

In some scenarios, measurements indicated by an orientation sensor, suchas a gyroscope for instance, can be prone to errors. Example measurementerrors or offsets for a gyroscope may include scale factor errors and/orbias errors, among others. A bias error may include an error or offsetthat is independent from the value of the measurement indicated by thegyroscope. A scale factor error may include an error or offset thatincreases (linearly or non-linearly) as the value of the measurementindicated by the gyroscope increases. Sensor measurement errors may bedue to physical properties of the sensor (e.g., semiconductorproperties, mechanical properties, etc.), manufacturing variabilitybetween individual sensors, and/or environmental factors (e.g.,temperature, humidity, etc.) that affect operation of the sensor, amongother factors.

In some implementations, a sensor can be calibrated to measure orotherwise model such errors or offsets. The resulting calibration datacan then be used to modify future outputs from the sensor to mitigatethe effect of these errors. However, in some examples, the extent,magnitude, and/or other characteristics of these errors may change overtime (e.g., drift). As a result, for instance, calibrated sensormeasurements may potentially become prone to errors after passage of acertain amount of time from a time when the calibration process isperformed.

Additionally, in some scenarios, the sensor calibration process can betime-consuming and/or associated with high calibration (e.g.,maintenance) costs. By way of example, consider a scenario where thesensor is mounted to a vehicle, such as a car, truck, boat, or any othervehicle. Calibrating the sensor in this scenario may involve, forinstance, driving or otherwise transporting the vehicle to a maintenancelocation, unmounting the sensor from the vehicle, mounting the sensor toa calibration or test platform, applying a series of sensor inputs tothe sensor (e.g., rotating an orientation sensor according to a sequenceof predetermined rates of rotation, etc.) to generate the calibrationdata, unmounting the sensor from the test platform, re-mounting thesensor to the vehicle, and removing or otherwise transporting thevehicle from the maintenance location.

Accordingly, the present disclosure may include additional and/oralternative implementations for calibration and/or mitigation of sensormeasurement errors.

In one implementation, a rotary joint device includes two platformsarranged such that a first side of a first platform (e.g., rotorplatform) remains within a given distance to a second side of a secondplatform (e.g., stator platform) in response to a rotation of the firstplatform. In one example, the two platforms may include circularlyshaped disks arranged coaxially about a common axis to maintain anoverlap between the two respective sides (separated by the givendistance) in response to the rotation of the first platform about thecommon axis of the two platforms.

In some examples, the device also includes an actuator that rotates thefirst platform about a platform axis, an encoder that measures angularpositions of the first platform about the platform axis, and anorientation sensor mounted on the first platform. The orientation sensoris configured to provide an indication of a rate of change to anorientation of the orientation sensor. For example, the orientationsensor may comprise a gyroscope that has a reference axis that isaligned with and/or substantially parallel to the axis of rotation ofthe first platform. Thus, in this example, the output of the gyroscopemay also indicate a change in the angular position of the first platformabout the platform axis.

In some examples, the device also includes a controller (e.g., computingdevice, logical circuitry, control system, etc.) configured to operatethe device in a sensing mode or in a calibration mode.

In a first example, while in the sensing mode, the controller maygenerate a sensor-mode control signal for controlling the actuator. Thesensing-mode control signal may cause the actuator to rotate the firstplatform (i) along a direction of rotation opposite to a direction ofthe rate of change to the orientation of the orientation sensorindicated by the sensor output signals and (ii) at a rate of rotationthat is based on the rate of change to the orientation of theorientation sensor. For example, the controller can modulate thesensing-mode control signal to cause the actuator to rotate the platformagainst the rotation of the orientation sensor about its reference axisindicated by the sensor output signals, thereby driving the magnitude ofthe measurements by the orientation sensor toward a value of zero (orother target value). For instance, the controller may include aproportional-integral (PI) controller or other control loop feedbackmechanism for driving the measurements from the orientation sensortoward a target value. With this arrangement, magnitudes of themeasurements by the orientation sensor may remain relatively low (e.g.,close to a value of zero). As a result, for instance, scale factorerrors dependent on the magnitudes of these measurements can be reduced.Additionally, in this example, the controller can estimate the directionor orientation of the device based on the measurements of the angularpositions of the first platform about the platform axis (collected bythe encoder during the rotation caused by the actuator), which areindicated by the encoder output signals.

However, in some scenarios, the measurements of the angular positions ofthe first platform about the platform axis indicated by the encoderoutput signals may also be prone to encoder measurement errors. Forinstance, in one example implementation of the encoder disclosed herein,the encoder includes a plurality of magnets disposed on the firstplatform and arranged around the platform axis in a substantiallycircular arrangement. The encoder also includes a magnetic field sensor(e.g., Hall effect sensor, etc.) disposed on the second platformopposite to the plurality of magnets. In this implementation, theencoder output signals may be based on measurements of a first magneticfield generated by the plurality of magnets and measured by the magneticfield sensor. Thus, the encoder measurement errors may include errorscaused by an encoder defect related to a circularity of the arrangementof the plurality of magnets, an encoder defect related to aconcentricity of the first magnetic field relative to the platform axisof rotation (e.g., at a surface of the second platform where themagnetic field sensor is mounted), among other possible physical defectsin the encoder. Thus, some implementations herein may involvecalibrating the encoder output signals as well.

For instance, in a second example where the controller is operating thedevice in the calibration mode, the controller may be configured togenerate a calibration control signal for controlling the actuator. Thecalibration control signal may cause the actuator to rotate the firstplatform about the platform axis in a predetermined manner (e.g.,predetermined rates and/or directions of rotation, etc.). While thefirst platform is rotating in the calibration mode, the controller mayreceive given sensor output signals from the orientation sensor. Basedon the given sensor output signals, the controller may then determinecalibration data for mapping the angular positions of the first platformabout the platform axis indicated by the encoder output signals tocalibrated measurements of the angular positions of the first platformabout the platform axis.

Other example arrangements, configurations, functionalities, andoperations are possible as well and are described in greater detailwithin exemplary implementations herein.

II. Example Electromechanical Systems and Devices

Systems and devices in which example embodiments may be implemented willnow be described in greater detail. In general, the embodimentsdisclosed herein can be used with any electromechanical system thatincludes a moveable component. An example system can provide fortransmission of power and/or signals between the moveable component andother parts of the system. Illustrative embodiments described hereininclude vehicles that have moveable components such as sensors andwheels that communicate with other components of the vehicle and/or withone another. However, an example electromechanical system may also beimplemented in or take the form of other devices, such as sensorplatforms (e.g., RADAR platforms, LIDAR platforms, direction sensingplatforms, etc.), robotic devices, industrial systems (e.g., assemblylines, etc.), medical devices (e.g., medical imaging devices, etc.), ormobile communication systems, among others.

Further, it is noted that the term “vehicle” is broadly construed hereinto cover any moving object including, for instance, an aerial vehicle,watercraft, spacecraft, a car, a truck, a van, a semi-trailer truck, amotorcycle, a golf cart, an off-road vehicle, a warehouse transportvehicle, a farm vehicle, or a carrier that rides on a track (e.g.,roller coaster, trolley, tram, train car, etc.), among others.

FIG. 1A illustrates a vehicle 100, according to an example embodiment.In particular, FIG. 1A shows a Right Side View, Front View, Back View,and Top View of the vehicle 100. Although vehicle 100 is illustrated inFIG. 1A as a car, as discussed above, other embodiments are possible.Furthermore, although the example vehicle 100 is shown as a vehicle thatmay be configured to operate in autonomous mode, the embodimentsdescribed herein are also applicable to vehicles that are not configuredto operate autonomously or that are configured to operatesemi-autonomously. Thus, the example vehicle 100 is not meant to belimiting. As shown, the vehicle 100 includes five sensor units 102, 104,106, 108, and 110, and four wheels, exemplified by wheel 112.

In some embodiments, sensor units 102-110 may include any combination ofsensors, such as global positioning system sensors, inertial measurementunits, radio detection and ranging (RADAR) units, cameras, laserrangefinders, LIDARs, and/or acoustic sensors among other possibilities.

As shown, sensor unit 102 is mounted to a top side of the vehicle 100opposite to a bottom side of the vehicle 100 where the wheel 112 ismounted. Further, sensor units 104-110 are respectively mounted torespective sides of vehicle 100 other than the top side. As shown,sensor unit 104 is positioned at a front side of vehicle 100, sensor 106is positioned at a back side of vehicle 100, the sensor unit 108 ispositioned at a right side of vehicle 100, and sensor unit 110 ispositioned at a left side of vehicle 100.

Although sensor units 102-110 are shown to be mounted in particularlocations on vehicle 100, in some embodiments, sensor units 102-110 canbe alternatively mounted in different locations, either inside oroutside vehicle 100. For example, although FIG. 1A shows sensor unit 108mounted to a rear-view mirror of vehicle 100, the sensor unit 108 mayalternatively be positioned in another location along the right side ofvehicle 100. As another example, vehicle 100 can be implemented toinclude more sensor units mounted along a roof (e.g., top side) ofvehicle 100, and fewer or no sensors mounted along other sides (e.g.,right side, left side, etc.) of vehicle 100. Other arrangements andconfigurations of sensor units 102-110 are possible as well. Thus, whilefive sensor units are shown, in some embodiments, more or fewer sensorunits may be included in vehicle 100. However, for the sake of example,sensor units 102-110 are positioned as shown in FIG. 1A.

In some embodiments, one or more of sensor units 102-110 may include oneor more movable mounts on which the sensors may be movably mounted. Themovable mount may include, for example, a rotating platform.Alternatively or additionally, the movable mount may include a tiltingplatform. Sensors mounted on the tilting platform could be tilted withina given range of angles and/or azimuths. The movable mount may takeother forms as well.

Further, in some embodiments, one or more of sensor units 102-110 mayinclude one or more actuators configured to adjust the position and/ororientation of sensors in the sensor unit by moving the sensors and/ormovable mounts. Example actuators include motors, pneumatic actuators,hydraulic pistons, relays, solenoids, and piezoelectric actuators. Otheractuators are possible as well.

As shown, vehicle 100 includes one or more wheels such as wheel 112 thatare configured to rotate to cause the vehicle to travel along a drivingsurface. In some embodiments, wheel 112 may include at least one tirecoupled to a rim of wheel 112. To this end, wheel 112 may include anycombination of metal and rubber, or a combination of other materials.Vehicle 100 may include one or more other components in addition to orinstead of those shown.

FIG. 1B illustrates another top view of vehicle 100. In some scenarios,vehicle 100 may rotate about one or more axes of rotation of vehicle100, which are shown as yaw axis 114, pitch axis 116, and roll axis 118.Yaw axis 114 may correspond to a height-wise axis extending through thetop of the vehicle (and out of the page). In an example scenario, a yawrotation of vehicle 100 about yaw axis 114 may correspond to adjusting apointing or heading direction of vehicle 100 (e.g., direction of motionor travel along a driving surface, etc.).

Pitch axis 116 may correspond to a rotational axis that extendswidthwise through the right side and left side of vehicle 100. In anexample scenario, a pitch rotation of vehicle 100 about pitch axis 116may result from an acceleration or deceleration (e.g., application ofbrakes, etc.) of vehicle 100. For instance, a deceleration of thevehicle may cause the vehicle to tilt toward the front side of thevehicle (i.e., pitch rotation about pitch axis 116). In this scenario,front wheel shocks (not shown) of vehicle 100 may compress to absorb theforce due to the change of momentum of the vehicle, and back wheelshocks (not shown) may expand to allow the vehicle to tilt toward thefront side. In another example scenario, a pitch rotation of vehicle 100about pitch axis 116 may result from vehicle 100 traveling along asloped driving surface (e.g., hill, etc.), thereby causing vehicle 100to tilt upwards or downwards (i.e., pitch-wise) depending on the slopeof the driving surface. Other scenarios are possible as well.

Roll axis 118 may correspond to a rotational axis that extendslengthwise through the front side and the back side of vehicle 100. Inan example scenario, a roll rotation of vehicle 100 about roll axis 118may occur in response to the vehicle performing a turning maneuver. Forinstance, if the vehicle performs a sudden right turn maneuver, thevehicle may bank toward the left side (i.e., roll rotation about rollaxis 118) in response to a force caused by the changing momentum of thevehicle or a centripetal force acting on the vehicle due to the rightturn maneuver, etc. In another example scenario, a roll rotation ofvehicle 100 about roll axis 118 may occur as a result of vehicle 100traveling along a curved driving surface (e.g., road camber, etc.),which may cause vehicle 100 to tilt sideways (i.e., roll-wise) dependingon the curvature of the driving surface. Other scenarios are possible aswell.

It is noted that the positions of the various rotational axes 114, 116,118 may vary depending on various physical characteristics of vehicle100, such as the location of a center of gravity of the vehicle,locations and/or mounting positions of wheels of the vehicle, etc. Thus,the various axes 114, 116, 118 are illustrated as shown only for thesake of example. For instance, roll axis 118 can be alternativelypositioned to have a different path through the front side and back sideof vehicle 118, and yaw axis 114 may extend through a different regionof the top side of vehicle 100 than shown, etc.

FIG. 2 is a simplified block diagram of a vehicle 200, according to anexample embodiment. Vehicle 200 may be similar to vehicle 100, forexample. As shown, vehicle 200 includes a propulsion system 202, asensor system 204, a control system 206, peripherals 208, and a computersystem 210. In other embodiments, vehicle 200 may include more, fewer,or different systems, and each system may include more, fewer, ordifferent components. Further, the systems and components shown may becombined or divided in any number of ways.

Propulsion system 202 may be configured to provide powered motion forthe vehicle 200. As shown, propulsion system 202 includes anengine/motor 218, an energy source 220, a transmission 222, andwheels/tires 224.

Engine/motor 218 may be or include any combination of an internalcombustion engine, an electric motor, a steam engine, and a Stirlingengine. Other motors and engines are possible as well. In someembodiments, propulsion system 202 may include multiple types of enginesand/or motors. For instance, a gas-electric hybrid car may include agasoline engine and an electric motor. Other examples are possible.

Energy source 220 may be a source of energy that powers the engine/motor218 in full or in part. That is, engine/motor 218 may be configured toconvert energy source 220 into mechanical energy. Examples of energysources 220 include gasoline, diesel, propane, other compressedgas-based fuels, ethanol, solar panels, batteries, and other sources ofelectrical power. Energy source(s) 220 may additionally or alternativelyinclude any combination of fuel tanks, batteries, capacitors, and/orflywheels. In some embodiments, energy source 220 may provide energy forother systems of vehicle 200 as well.

Transmission 222 may be configured to transmit mechanical power fromengine/motor 218 to wheels/tires 224. To this end, transmission 222 mayinclude a gearbox, clutch, differential, drive shafts, and/or otherelements. In embodiments where transmission 222 includes drive shafts,the drive shafts may include one or more axles that are configured to becoupled to wheels/tires 224.

Wheels/tires 224 of vehicle 200 may be configured in various formats,including a unicycle, bicycle/motorcycle, tricycle, or car/truckfour-wheel format. Other wheel/tire formats are possible as well, suchas those including six or more wheels. In any case, wheels/tires 224 maybe configured to rotate differentially with respect to otherwheels/tires 224. In some embodiments, wheels/tires 224 may include atleast one wheel that is fixedly attached to transmission 222 and atleast one tire coupled to a rim of the wheel that could make contactwith a driving surface. Wheels/tires 224 may include any combination ofmetal and rubber, or combination of other materials. Propulsion system202 may additionally or alternatively include components other thanthose shown.

Sensor system 204 may include any number of sensors configured to senseinformation about vehicle 200 and/or an environment in which vehicle 200is located, as well as one or more actuators 236 configured to modify aposition and/or orientation of the sensors. As shown, sensor system 204includes a Global Positioning System (GPS) 226, an inertial measurementunit (IMU) 228, a RADAR unit 230, a laser rangefinder and/or LIDAR unit232, and a camera 234. Sensor system 204 may include additional sensorsas well, including, for example, sensors that monitor internal systemsof vehicle 200 (e.g., an O₂ monitor, a fuel gauge, an engine oiltemperature, etc.). Other sensors are possible as well. In someexamples, sensor system 204 may be implemented as multiple sensor unitseach mounted to the vehicle in a respective position (e.g., top side,bottom side, front side, back side, right side, left side, etc.).

GPS 226 may include any sensor (e.g., location sensor) configured toestimate a geographic location of vehicle 200. To this end, for example,GPS 226 may include a transceiver configured to estimate a position ofvehicle 200 with respect to the Earth. IMU 228 may include anycombination of direction sensors configured to sense position andorientation changes of the vehicle 200 based on inertial acceleration.Example IMU sensors include accelerometers, gyroscopes, other directionsensors, etc. RADAR unit 230 may include any sensor configured to senseobjects in an environment in which vehicle 200 is located using radiosignals. In some embodiments, in addition to sensing the objects, RADARunit 230 may be configured to sense the speed and/or heading of theobjects.

Laser rangefinder or LIDAR unit 232 may include any sensor configured tosense objects in the environment in which vehicle 200 is located usinglight. In particular, laser rangefinder or LIDAR unit 232 may includeone or more light sources configured to emit one or more beams of lightand a detector configured to detect reflections of the one or more beamsof light. Laser rangefinder or LIDAR 232 may be configured to operate ina coherent (e.g., using heterodyne detection) or an incoherent detectionmode. In some examples, LIDAR unit 232 may include multiple LIDARs, witheach LIDAR having a particular position and/or configuration suitablefor scanning a particular region of an environment around vehicle 200.

Camera 234 may include any camera (e.g., still camera, video camera,etc.) that can capture images of an environment of vehicle 200.Actuator(s) 236 may include any type of actuator configured to adjust aposition, orientation, and/or pointing direction of one or more of thesensors of system 204. Example actuators include motors, pneumaticactuators, hydraulic pistons, relays, solenoids, and piezoelectricactuators, among other examples. Sensor system 204 may additionally oralternatively include components other than those shown.

Control system 206 may be configured to control operation of vehicle 200and/or components thereof. To this end, control system 206 may include asteering unit 238, a throttle 240, a brake unit 242, a sensor fusionalgorithm 244, a computer vision system 246, a navigation or pathingsystem 248, and an obstacle avoidance system 250.

Steering unit 238 may be any combination of mechanisms configured toadjust the heading of vehicle 200. Throttle 240 may be any combinationof mechanisms configured to control the operating speed of engine/motor218 and, in turn, the speed of vehicle 200. Brake unit 242 may be anycombination of mechanisms configured to decelerate vehicle 200. Forexample, brake unit 242 may use friction to slow wheels/tires 224. Insome examples, brake unit 242 may also convert kinetic energy ofwheels/tires 224 to an electric current.

Sensor fusion algorithm 244 may be an algorithm (or a computer programproduct storing an algorithm) configured to accept data from sensorsystem 204 as an input. The data may include, for example, datarepresenting information sensed at the sensors of sensor system 204.Sensor fusion algorithm 244 may include, for example, a Kalman filter, aBayesian network, an algorithm for some of the functions of the methodsherein, or any other algorithm. Sensor fusion algorithm 244 may furtherbe configured to provide various assessments based on the data fromsensor system 204, including, for example, evaluations of individualobjects and/or features in the environment in which vehicle 100 islocated, evaluations of particular situations, and/or evaluations ofpossible impacts based on particular situations.

Computer vision system 246 may be any system configured to process andanalyze images captured by camera 234 in order to identify objectsand/or features in the environment in which vehicle 200 is located,including, for example, traffic signals and obstacles. To this end,computer vision system 246 may use an object recognition algorithm, aStructure from Motion (SFM) algorithm, video tracking, or other computervision techniques. In some embodiments, computer vision system 246 mayadditionally be configured to map the environment, track objects,estimate the speed of objects, etc.

Navigation and pathing system 248 may be any system configured todetermine a driving path for vehicle 200. Navigation and pathing system248 may additionally be configured to update the driving pathdynamically while vehicle 200 is in operation. In some embodiments,navigation and pathing system 248 may be configured to incorporate datafrom sensor fusion algorithm 244, GPS 226, LIDAR unit 232, and/or one ormore predetermined maps of the environment of vehicle 200, so as todetermine a driving path for vehicle 200. Obstacle avoidance system 250may be any system configured to identify, evaluate, and avoid orotherwise negotiate obstacles in the environment in which vehicle 200 islocated. Control system 206 may additionally or alternatively includecomponents other than those shown.

Peripherals 208 (e.g., input interface, output interface, etc.) may beconfigured to allow vehicle 200 to interact with external sensors, othervehicles, external computing devices, and/or a user. To this end,peripherals 208 may include, for example, a wireless communicationsystem 252, a touchscreen 254, a microphone 256, and/or a speaker 258.

Wireless communication system 252 may be any system configured towirelessly couple to one or more other vehicles, sensors, or otherentities, either directly or via a communication network. To this end,wireless communication system 252 may include an antenna and a chipsetfor communicating with the other vehicles, sensors, servers, or otherentities either directly or via a communication network. Chipset orwireless communication system 252 in general may be arranged tocommunicate according to one or more types of wireless communication(e.g., protocols) such as Bluetooth, communication protocols describedin IEEE 802.11 (including any IEEE 802.11 revisions), cellulartechnology (such as GSM, CDMA, UMTS, EV-DO, WiMAX, or LTE), Zigbee,dedicated short range communications (DSRC), and radio frequencyidentification (RFID) communications, among other possibilities.Wireless communication system 252 may take other forms as well.

Touchscreen 254 may be used by a user as an input interface to inputcommands to vehicle 200. To this end, touchscreen 254 may be configuredto sense at least one of a position and a movement of a user's fingervia capacitive sensing, resistance sensing, or a surface acoustic waveprocess, among other possibilities. Touchscreen 254 may be capable ofsensing finger movement in a direction parallel or planar to thetouchscreen surface, in a direction normal to the touchscreen surface,or both, and may also be capable of sensing a level of pressure appliedto the touchscreen surface. Touchscreen 254 may be formed of one or moretranslucent or transparent insulating layers and one or more translucentor transparent conducting layers. Touchscreen 254 may take other formsas well.

Microphone 256 may be configured to receive audio (e.g., a voice commandor other audio input) from a user of vehicle 200. Similarly, speakers258 may be configured to output audio to the user of vehicle 200.Peripherals 208 may additionally or alternatively include componentsother than those shown.

Computer system 210 may be configured to transmit data to, receive datafrom, interact with, and/or control one or more of propulsion system202, sensor system 204, control system 206, and peripherals 208. To thisend, computer system 210 may be communicatively linked to one or more ofpropulsion system 202, sensor system 204, control system 206, andperipherals 208 by a system bus, network, and/or other connectionmechanism (not shown).

In one example, computer system 210 may be configured to controloperation of transmission 222 to improve fuel efficiency. As anotherexample, computer system 210 may be configured to cause camera 234 tocapture images of the environment. As yet another example, computersystem 210 may be configured to store and execute instructionscorresponding to sensor fusion algorithm 244. Other examples arepossible as well.

As shown, computer system 210 includes processor 212 and data storage214. Processor 212 may comprise one or more general-purpose processorsand/or one or more special-purpose processors. To the extent processor212 includes more than one processor, such processors could workseparately or in combination. Data storage 214, in turn, may compriseone or more volatile and/or one or more non-volatile storage components,such as optical, magnetic, and/or organic storage among otherpossibilities, and data storage 214 may be integrated in whole or inpart with processor 212.

In some embodiments, data storage 214 contains instructions 216 (e.g.,program logic) executable by processor 212 to execute various vehiclefunctions. Data storage 214 may contain additional instructions as well,including instructions to transmit data to, receive data from, interactwith, and/or control one or more of propulsion system 202, sensor system204, control system 206, and/or peripherals 208. In some embodiments,data storage 214 also contains calibration data for one or more of thesensors in sensor system 204. For example, the calibration data mayinclude a mapping between previously obtained sensor measurements andone or more predetermined inputs to the sensors. Computer system 210 mayadditionally or alternatively include components other than those shown.

Power supply 260 may be configured to provide power to some or all ofthe components of vehicle 200. To this end, power supply 260 mayinclude, for example, a rechargeable lithium-ion or lead-acid battery.In some embodiments, one or more banks of batteries could be configuredto provide electrical power. Other power supply materials andconfigurations are possible as well. In some embodiments, power supply260 and energy source 220 may be implemented together as one component,as in some all-electric cars for instance.

In some embodiments, vehicle 200 may include one or more elements inaddition to or instead of those shown. For example, vehicle 200 mayinclude one or more additional interfaces and/or power supplies. Otheradditional components are possible as well. In such embodiments, datastorage 214 may further include instructions executable by processor 212to control and/or communicate with the additional components. Stillfurther, while each of the components and systems are shown to beintegrated in vehicle 200, in some embodiments, one or more componentsor systems can be removably mounted on or otherwise connected(mechanically or electrically) to vehicle 200 using wired or wirelessconnections.

III. Example Rotary Joint Configurations

Within examples, a rotary joint may be configured as an interfacebetween two structures of an electromechanical system, in which one orboth of the two structures is configured to rotate or otherwise moverelative to the other structure. To that end, in some implementations, aportion of the rotary joint (e.g., rotor) may be coupled to onestructure of the example system and another portion (e.g., stator) maybe coupled to the other structure of the example system. Additionally oralternatively, in some implementations, the rotary joint may be includedwithin a structure arranged between two structures that rotate (or move)with respect to one another. For instance, an example rotary joint couldbe disposed in a robotic joint that couples two robotic links. Otherimplementations are possible as well.

FIG. 3 is a simplified block diagram of a device 300 that includes arotary joint, according to an example embodiment. For example, device300 can be used as an interface between moveable components of anelectromechanical system, such as any of vehicles 100, 200, and/or anyother electromechanical system. Thus, for instance, device 300 can bephysically implemented as a rotary joint that facilitates powertransmission between two moveable components of the system (orsubsystem), such as a rotating platform that mounts sensors included insensor units 102, 104, 106, 108, 110, sensor system 204, among otherexamples. As shown, device 300 includes a first platform 310 and asecond platform 330.

First platform 310 may comprise or may be coupled to a rotor or othermoveable component. For example, platform 310 can be configured torotate relative to platform 330 and about an axis of rotation ofplatform 310 (e.g., rotor axis). Thus, within examples, platform 310 canbe configured as a rotating platform in a rotary joint configuration. Asshown, platform 310 includes a sensor 312, a controller 314, acommunication interface 316, a power interface 318, and one or moremagnets 320.

In some examples, platform 310 may comprise any solid material suitablefor supporting and/or mounting various components of platform 310. Forinstance, platform 310 may include a printed circuit board (PCB) thatmounts communication interface 316 and/or other components of platform310. The PCB in this instance can also include circuitry (not shown) toelectrically couple one or more of the components of platform 310 (e.g.,sensor 312, controller 314, communication interface 316, power interface318, etc.) to one another. The PCB in this instance can be positionedsuch that the mounted components are along a side of platform 310 facingor opposite to a corresponding side of platform 330. With thisarrangement, for instance, platforms 310 and 330 may remain within apredetermined distance to one another in response to a rotation ofplatform 310 relative to platform 330.

Sensor 312 may include any combination of sensors mounted to platform310, such as one or more sensors of sensor system 204, one or more ofthe sensors included in vehicle 100, and/or any other sensor that can bemounted on platform 310. A non-exhaustive list of example sensors mayinclude direction sensors (e.g., gyroscopes), remote sensing devices(e.g., RADARs, LIDARs, etc.), sound sensors (e.g., microphones), amongother examples.

Controller 314 may be configured to operate one or more of thecomponents of first platform 310. To that end, controller 314 mayinclude any combination of general-purpose processors,special-purpose-processors, data storage, logic circuitry, and/or anyother circuitry configured to operate one or more components of device300. In one implementation, similarly to computing system 210,controller 314 includes one or more processors (e.g., processor 212)that execute instructions (e.g., instructions 216) stored in datastorage (e.g., data storage 214) to operate sensor 312, interface 316,etc. In another implementation, controller 314 alternatively oradditionally includes circuitry wired to perform one or more of thefunctions and processes described herein for operating one or morecomponents of device 300. In one example, controller 314 can beconfigured to receive sensor data collected by sensor 312, and toprovide a modulated electrical signal indicative of the sensor data tocommunication interface 316. For instance, the sensor data may indicatea measured orientation of sensor 312, a scan of a surroundingenvironment, detected sounds, and/or any other sensor output of sensor312.

Communication interface 316 may include any combination of wireless orwired communication components (e.g., transmitters, receivers, antennas,light sources, light detectors, etc.) configured to transmit (e.g.,signal 302) and/or receive (e.g., signal 304) data and/or instructionsbetween platforms 310 and 330. In one example, where communicationinterface 316 is an optical communication interface, interface 316 mayinclude one or more light sources arranged to emit modulated lightsignal 302 for receipt by a light detector included in platform 330. Forinstance, signal 302 may indicate sensor data collected by sensor 312.Further, in this example, interface 316 may include a light detector forreceiving modulated light signal 304 emitted from platform 330. Forinstance, signal 304 may indicate instructions for operating sensor 312and/or any other component coupled to platform 310. In this instance,controller 314 can operate sensor 312 based on the received instructionsdetected via interface 316.

Power interface 318 may include one or more components configured forwireless (or wired) transmission of power between platforms 310 and 330.By way of example, interface 318 may include transformer coil(s) (notshown) arranged to receive a magnetic flux extending through thetransformer coils to induce an electrical current for powering one ormore components (e.g., sensor 312, controller 314, communicationinterface 316, etc.) of platform 310. For instance, the transformercoils can be arranged around a center region of platform 310 opposite tocorresponding transformer coils included in platform 330. Further, forinstance, device 300 may also include a magnetic core (not shown)extending through the transformer coils in interface 318 (and/ortransformer coils included in platform 330) to guide the magnetic fluxthrough the respective transformer coils thereby improving efficiency ofpower transmission between the two platforms. Other configurations arepossible as well.

Magnet(s) 320 may can be formed from a ferromagnetic material such asiron, ferromagnetic compounds, ferrites, etc., and/or any other materialthat is magnetized to generate a first-platform magnetic field ofplatform 310.

In one implementation, magnets 320 can be implemented as a plurality ofmagnets in a substantially circular arrangement around an axis ofrotation of platform 310. For example, magnets 320 can be arranged alonga circle that is concentric to the axis of rotation to generate acombined magnetic field extending toward and/or through platform 330.Further, for instance, adjacent magnets of magnets 320 can be magnetizedin alternating directions such that a magnetic pole of a given magnetalong a surface of the given magnet that is facing platform 330 isopposite to a magnetic pole of an adjacent magnet along a similarsurface. With this arrangement for instance, a magnetic field may extendfrom the surface of the given magnet toward platform 330 and then towardthe surface of the adjacent magnet. Further, another magnetic field mayextend from a surface of the given magnet toward platform 330 and thentoward another adjacent magnet.

In another implementation, magnet 320 can be implemented as a singlering magnet that is concentric to the axis of rotation of the firstplatform. In this implementation, the ring magnet can be magnetized tohave a magnetization pattern similar to that of the plurality of magnetsdescribed above. For example, the ring magnet can be implemented as aprinted magnet having a plurality of ring sectors (e.g., regions of thering magnet between respective radial axes thereof). In this example,adjacent ring sectors of the ring magnet can be magnetized inalternating directions to define a plurality of alternating magneticpoles facing platform 330.

As shown, magnet(s) 320 can optionally include an index magnet 322.Index magnet 322 may include a magnet (e.g., ferromagnetic material,etc.) that is configured to have a characteristic that differs from thatof the other magnets in magnets 320.

In a first example, where magnets 320 include a plurality of magnets ina circular arrangement, index magnet 322 can be positioned at a firstdistance to the axis of rotation of platform 310, and the other magnetsin magnets 320 can be positioned at a second distance to the axis ofrotation that differs from the first distance. Additionally oralternatively, for instance, index magnet 322 can be positioned at anoffset distance to the second platform relative to a substantiallyuniform distance between the other magnets and the second platform.Additionally or alternatively, for instance, index magnet 322 can bepositioned at a particular separation distance to one or more adjacentmagnets. In this instance, the other magnets can be spaced apart by asubstantially uniform separation distance that differs from theparticular separation distance.

In a second example, index magnet 322 can have a first size (e.g.,width, length, depth, etc.) that differs from a second size of the othermagnets in magnets 320.

In a third example, index magnet 322 can be magnetized to have a firstmagnetization strength (e.g., magnetic flux density, magnetic fieldstrength, etc.) that differs from a second magnetization strength of theother magnets in magnets 320.

In a fourth example, index magnet 322 can be magnetized to have adifferent magnetization pattern compared to magnetization patterns ofthe other magnets in magnets 320. For instance, a first portion of indexmagnet 322 can be magnetized in a first direction (e.g., North Polepointing toward platform 330) and a second portion of index magnet 322can be magnetized in a second direction opposite to the first direction(e.g., South Pole pointing toward platform 330), whereas, the othermagnets in magnets 320 can be magnetized in a single direction (e.g.,only one of North Pole or South Pole pointing toward platform 330).

In a fifth example, where magnet(s) 320 comprise a single ring magnet,index magnet 322 can be implemented as an index ring sector of magnet320 that includes a first portion magnetized in a first direction, and asecond portion magnetized in an opposite direction. Alternatively oradditionally, the second portion can be physically implemented as amagnetized region of magnet 320 that surrounds the first portion andconnects with two ring sector that are adjacent to the index ringsector.

In a sixth example, where magnet(s) 320 comprise a single ring magnet,the various differentiating characteristics described above for animplementation that comprises a plurality of magnets can be similarlyimplemented by adjusting the magnetization properties of the ringmagnet. In one instance, the index ring sector can have a different size(e.g., angular width, etc.) relative to substantially uniform sizes ofother ring sectors. In another instance, the index ring sector can beseparated from adjacent ring sectors by a different distance than acorresponding substantially uniform distance between the other ringsectors (e.g., surrounding the index ring sector by demagnetized regionsof the ring magnet, etc.).

Second platform 330 can be configured as a stator platform in a rotaryjoint configuration, in line with the discussion above. For instance,the axis of rotation of platform 310 can extend through platform 330such that platform 310 rotates relative to platform 330 while remainingwithin a predetermined distance to platform 330. As shown, platform 330includes a controller 334, a communication interface 336, a powerinterface 338, a plurality of conductive structures 340, circuitry 350,and a magnetic field sensor 390. Thus, for example, platform 330 can beformed from any combination of solid materials suitable for supportingthe various components mounted or otherwise coupled to platform 330. Forinstance, platform 330 may comprise a circuit board that mounts one ormore components (e.g., interfaces 336, 338, sensor 390, etc.).

Controller 334 can have various physical implementations (e.g.,processors, logic circuitry, analog circuitry, data storage, etc.)similarly to controller 314, for example. Further, controller 334 canoperate communication interface 336 to transmit signal 304 indicating atransmission of data or instructions similarly to, respectively,controller 314, communication interface 316, and signal 302. Forinstance, controller 334 can operate interface 336 (e.g., transceiver,antenna, light sources, etc.) to provide a modulated wireless signalindicating instructions for operating sensor 312 and/or any othercomponent of platform 310. Further, for instance, controller 334 canreceive a modulated electrical signal from interface 336 indicatingmodulated signal 302 transmitted from platform 310.

Accordingly, communication interface 336 can be implemented similarly tocommunication interface 316 to facilitate communication betweenplatforms 310 and 330 via signals 302 and 304.

Power interface 338 can be configured similarly to power interface 318,and may thus be operated in conjunction with power interface 318 tofacilitate transmission of power between platforms 310 and 330. By wayof example, interface 338 may comprise a transformer coil (not shown),and controller 334 can be configured to cause an electrical current toflow through the transformer coil. The electrical current may thengenerate a magnetic flux that extends through a correspondingtransformer coil (not shown) of power interface 318 to induce anelectrical current through the corresponding transformer coil. Theinduced electrical current could thus provide power for one or morecomponents of platform 310. Further, in some instances, device 300 mayalso include a magnetic core (not shown) extending along the axis ofrotation of platform 310 and through the respective transformer coils(not shown) of power interfaces 318 and 338. The magnetic core, forinstance, can guide the magnetic flux generated by a transformer coil ofpower interface 338 through a transformer coil of power interface 318 toimprove efficiency of power transmission between platforms 310 and 330.

Conductive structures 340 may comprise portions of electricallyconductive material (e.g., copper, other metal, etc.) that areelectrically coupled together to define an electrically conductive paththat extends around the axis of rotation of platform 310 to overlap thefirst-platform magnetic field generated by magnet(s) 320. By way ofexample, conductive structures 340 may include a first plurality ofconductive structures in a first coplanar arrangement along a circlethat is concentric to the axis of rotation of platform 310. Further, inthis example, conductive structures 340 may also include a secondplurality of conductive structures in a second coplanar arrangement tooverlap parallel to the first plurality of conductive structures. Forinstance, in a circuit board implementation, the first plurality ofconductive structures can be disposed or patterned along a single layerof the circuit board, and the second plurality of conductive structurescan be disposed or patterned along another layer of the circuit board.

Continuing with the example above, device 300 could also include aplurality of electrical contacts (not shown), such as conductivematerial that extends through a drilled hole between two layers of acircuit board (e.g., via) for instance. The electrical contacts maycouple the first plurality of conductive structures to the secondplurality of conductive structures to define one or more conductivecoils extending around the axis of rotation to overlap the circulararrangement of magnet(s) 320 of the first platform. Circuitry 350(and/or controller 334) can then cause one or more electrical currentsto flow through the one or more coils to generate a second-platformmagnetic field extending within the one or more coils. Thefirst-platform magnetic field could then interact with thesecond-platform magnetic field to provide a force or torque acting onplatform 310. The induced force may then cause platform 310 to rotateabout the axis of rotation thereof. Further, in some instances,circuitry 350 (and/or controller 334) can modulate the second-platformmagnetic field by adjusting the electrical current(s) flowing throughthe coil(s). By doing so, for instance, device 300 can control adirection or rate of rotation of platform 310 about the axis ofrotation.

Accordingly, circuitry 350 may include any combination of wiring,conductive material, capacitors, resistors, amplifiers, filters,comparators, voltage regulators, controllers, and/or any other circuitryarranged to provide and modulate electrical current(s) flowing throughconductive structures 340. For instance, circuitry 350 may be configuredto condition the electrical current(s) to modify the second-platformmagnetic field and thereby achieve certain rotation characteristics(e.g., direction, speed, etc.) for rotating platform 310.

Magnetic field sensor 390 may be configured to measure one or morecharacteristics (e.g., direction, angle, magnitude, flux density, etc.)of the first-platform magnetic field associated with magnet(s) 320. Forexample, sensor 390 may include one or more magnetometers arranged tooverlap magnet(s) 320 and/or the first-platform magnetic field. Anon-exhaustive list of example sensors includes proton magnetometers,Overhauser effect sensors, cesium vapor sensors, potassium vaporsensors, rotating coil sensors, Hall effect sensors, magneto-resistivedevice sensors, fluxgate magnetometers, superconducting quantuminterference device (SQUID) sensors, micro-electro-mechanical-system(MEMS) sensors, and spin-exchange relaxation-free (SERF) atomic sensors,among other examples. In one implementation, sensor 390 may comprise athree-dimensional (3D) Hall effect sensor that outputs an indication ofan angle (and/or magnitude) of the first-platform magnetic field at aposition of sensor 390 according to an orthogonal coordinate systemrepresentation (e.g., x-y-z axis components) or other vector fieldrepresentation.

Thus, device 300 could use output(s) from sensor 390 as a basis fordetermining an orientation or position of platform 310 about the axis ofrotation. By way of example, sensor 390 can be positioned to overlap aportion of the first-platform magnetic field extending between twoadjacent magnets of magnet(s) 320. As first platform 310 rotates, forinstance, the angle of the portion may change at the position of sensor390 and thus circuitry 350 (and/or controller 334) can sample theoutputs from sensor 390 to deduce the position of sensor 390 relative tothe two adjacent magnets.

Thus, with this arrangement, device 300 could use magnet(s) 320 ascomponent(s) for both actuating platform 310 and measuring theorientation of platform 310 (e.g., magnetic encoder). This arrangementcan provide an actuator and a magnetic encoder with reduced costs andwith a more compact design.

Additionally, in some implementations, sensor 390 can be positionedalong a circular path that intersects with the coil(s) defined bystructures 340. For example, two particular structures in structures 340can be spaced apart by a given distance greater than a uniform distancebetween other adjacent structures in structures 340. Further, sensor 390can be positioned between these two particular structures. With thisarrangement, for instance, interference due to the second-platformmagnetic field with measurements of the first-platform magnetic field bysensor 390 can be mitigated, while also placing sensor 390 at a closedistance to magnet(s) 320.

In implementations where magnet(s) 320 include index magnet 322, aparticular portion of the first-platform magnetic field extendingbetween index magnet 322 and one or more magnets adjacent to indexmagnet 322 may have one or more differentiating characteristics relativeto other portions of the first-platform magnetic field. By of example,if index magnet 322 is positioned at a different distance to the axis ofrotation of platform 310 than a substantially uniform distance betweenthe axis of rotation and other magnets of magnet(s) 320, then adirection of the particular portion of the first-platform magnetic fieldmay differ from respective directions of the other portions.Accordingly, in some examples, circuitry 350 (and/or controller 334) canassociate detection of this difference with an orientation of platform310 where sensor 390 overlaps index magnet 322 or a region between indexmagnet 322 and an adjacent magnet. Through this process, for instance,device 300 can map outputs of sensor 390 to a range of orientations ofplatform 310 relative to a position of index magnet 322.

In some implementations, device 300 may include fewer components thanthose shown. For example, device 300 can be implemented without indexmagnet 322, sensor 390, and/or any other component shown. Further, insome implementations, device 300 may include one or more components inaddition to or instead of those shown. For example, platforms 310 and/or340 may include additional or alternative sensors (e.g., microphone 256,etc.), computing subsystems (e.g., navigation system 248, etc.), and/orany other component such as any of the components of vehicles 100 and200. Additionally, it is noted that the various functional blocks showncan be arranged or combined in different arrangements than those shown.For example, some of the components included in platform 310 can bealternatively included in platform 330 or implemented as separatecomponents of device 300.

FIG. 4A illustrates a side view of a device 400 that includes a rotaryjoint, according to an example embodiment. For example, device 400 maybe similar to device 300, and can be used with an electromechanicalsystem such as vehicles 100 and 200. As shown, device 400 includes arotor platform 410 and a stator platform 430 that may be similar,respectively, to platforms 310 and 330. Further, as shown, device 400includes an orientation sensor 412 disposed on platform 410. Forexample, sensor 412 may be similar to sensor 312.

Sensor 412 may include any orientation or direction sensor configured toprovide sensor output signals indicative of an orientation (or a rate ofchange thereto) of orientation sensor 412 about reference axis 413. Forexample, sensor 412 may include a gyroscope sensor. As shown, sensor 412is mounted on platform 410 such that reference axis 413 of sensor 412 isaligned with (e.g., parallel to) the axis 406 of the rotation ofplatform 410. With this arrangement for example, the measurements of therate of change to the orientation of orientation sensor 412 indicated bythe sensor output signals may also correspond to the rate of rotation ofplatform 410 about axis 406.

In some examples, sensor 412 can be configured as a yaw sensor toprovide an indication of a direction of motion of a vehicle (or rate ofchange thereof). By way of example, consider a scenario where device 400is mounted to vehicle 100 axis 413 shown in FIG. 4A corresponds to or isparallel to yaw axis 114 of vehicle 100 shown in FIG. 1B. With thisarrangement, the sensor output signals of sensor 412 may be indicativeof a yaw direction (or a change thereto) of vehicle 100. Continuing withthe scenario above, an initial yaw direction of sensor 412 maycorrespond to a direction that is perpendicular to axis 413 and pointingout of the page. In this scenario, if vehicle 100 rotates about axis114, then sensor 412 may experience a similar rotation about axis 413;and thus an orientation of sensor 412 (“yaw sensor”) about axis 413 maychange similarly to a change to the yaw direction of the vehicle aboutyaw axis 114.

Alternatively or additionally, in other examples, sensor 412 can beconfigured as a pitch sensor (e.g., by aligning axis 413 with axis 116of vehicle 100), or a roll sensor (e.g., by aligning axis 413 with axis118 of vehicle 100).

In the example shown, a side 410 a of platform 410 is positioned withina given distance 408 to a side 430 a of platform 430. Platform 410 canbe configured as a rotor platform that rotates about axis of rotation406. Further, platform 430 can be configured as a stator platform thatremains within distance 408 to platform 410 in response to rotation ofplatform 410 about axis 406. In some examples, side 410 a may correspondto a planar mounting surface of platform 410 (e.g., an outer layer of acircuit board). Similarly, for example, side 430 a may correspond to aplanar mounting surface of platform 430. It is noted that somecomponents of device 400 are omitted from FIG. 4A for convenience indescription.

In the cross section view shown in FIG. 4B for instance, side 410 a ofplatform 410 is pointing out of the page. As shown in FIG. 4B, device400 also includes a plurality of magnets, exemplified by magnets 420,422, 424, 426, and a mount 428.

Magnets 420, 422, 424, 426, can be similar to magnet(s) 320. Forexample, as shown, magnets 420, 422, 424, 426, are mounted in asubstantially circular arrangement around axis of rotation 406. In someexamples, like magnet(s) 320, adjacent magnets of the plurality ofmagnets (e.g., 420, 422, 424, 426, etc.) can be respectively magnetizedin alternating directions. For example, as shown, magnet 420 ismagnetized in a direction pointing into the page (e.g., South Poleindicated by letter “S” pointing out of the page), magnet 422 ismagnetized in a direction pointing out of the page (e.g., North Poleindicated by letter “N” pointing out of the page), magnet 424 ismagnetized in the same direction as magnet 420, and so on. Thus, in someexamples, the respective magnetization directions of the plurality ofmagnets (e.g., 420, 422, 424, 426, etc.) could be substantially parallelto axis 406, as shown.

Mount 428 may include any structure configured to support the pluralityof magnets (e.g., 420, 422, 424, 426, etc.) in a circular arrangementaround axis of rotation 406. To that end, mount 428 may include anysolid structure (e.g., plastic, aluminum, other metal, etc.) suitablefor supporting the plurality of magnets in the circular arrangement. Forexample, as shown, mount 428 can have a ring shape extending between(circular) edges 428 a and 428 b. Further, as shown, mount 428 mayinclude indentations that accommodate the plurality of magnets in thecircular arrangement. For instance, as shown, mount 428 includes anindentation (between walls 428 c and 428 d) shaped to accommodate magnet426. Thus, during assembly for instance, the plurality of magnets couldbe fitted into respective indentations of mount 428 to facilitateplacing the plurality of magnets in the circular arrangement. Further,as shown, ring-shaped mount 428 could be concentrically arrangedrelative to axis 406 (e.g., axis 406 aligned with a center axis ofring-shaped mount 428). Thus, for instance, circular edges 428 a, 428 b,and magnets 420, 422, 424, 426, etc., could remain within respectivegiven distances to axis 406 in response to rotation of platform 410about axis 406.

In some examples, similarly to index magnet 322, at least one magnet indevice 400 can be configured as an index magnet having one or morecharacteristics that differ from a common characteristic of othermagnets. As shown, for example, magnet 422 is mounted at a differentdistance to axis 406 than a distance between other magnets (e.g., 420,424, 426, etc.) and axis 406. To facilitate this, as shown, anindentation (e.g., defined by wall 428 e extending around theindentation) that accommodates index magnet 422 could have a smallerlength than respective indentations accommodating magnets 420, 424, 426,etc. As a result, index magnet 422, when mounted, may be closer to edge428 a (and axis 406) than magnets 420, 424, 426, etc.

It is noted that platform 410 may include additional components to thoseshown in FIG. 4B. In one implementation, mount 428 can be arranged alonga periphery of a printed circuit board (PCB) or other circuit board. Inanother implementation, mount 428 can be disposed along a surface orlayer of the circuit board. Regardless of the implementation, forexample, the region of side 410 a between axis 406 and edge 428 a can beused to mount one or more components such as any of the components ofplatform 310.

In one example, as shown, platform 410 may include a center gap definedby edge 410 b. In this example, platform 410 may include a transformercoil (not shown) arranged around edge 410 b. Further, in this example,device 400 may include a magnetic core (not shown) extending through thecenter gap to guide a magnetic flux generated by a similar transformercoil (not shown) of platform 430. Thus, for instance, power can betransmitted between the two platforms 410 and 430, in line with thediscussion above for power interfaces 318 and 338. In another example,platform 410 may include one or more wireless transmitters or receivers(e.g., light sources, light detectors, antenna, etc.) in the region ofplatform 410 between edges 428 a and 410 b. Thus, similarly to device300 for example, device 400 can be configured to transmit power and/orcommunication signals between platforms 410 and 430.

In the cross section view shown in FIG. 4C, side 430 a of platform 430is pointing out of the page. The cross section view of platform 430shown in FIG. 4D may correspond to a view of a layer of platform 430that is substantially parallel to side 430 a. Referring back to FIG. 4Aby way of example, the layer shown in FIG. 4D may correspond to a layerbetween sides 430 a and 430 b. In another example, the layer shown inFIG. 4D may correspond to conductive materials patterned on side 430 bof platform 430. In one implementation, platform 430 can be physicallyimplemented as a multi-layer circuit board (e.g., PCB) or may comprise amulti-layer PCB embedded therein. To that end, one or more componentsshown in FIG. 4C may correspond to electrically conductive material(s)(e.g., tracks, traces, copper, etc.) patterned along an outer layer ofthe PCB, and one or more components shown in FIG. 4D may correspond toelectrically conductive material(s) patterned along another layer of thePCB. Other implementations are possible as well.

As shown in FIGS. 4C and 4D, device 400 also includes a plurality ofpower leads, exemplified by leads 432, 434, 436, 438, a first pluralityof adjacent conductive structures, exemplified by structures 442, 444,446, 448, 450, 452, 454, 456, 458, 459, a second plurality of adjacentconductive structures, exemplified by structures 472, 474, 476, 478,480, 482, 484, 486, 489, a plurality of electrical contacts, exemplifiedby contacts 462, 464, 466, 468, a magnetic field sensor 490, andconnectors 492, 494.

Power leads 432, 434, 436, 438, etc., may be configured to electricallycouple, respectively, one or more of the first and second pluralities ofconductive structures to a power source, voltage regulator, currentamplifier, or other circuitry (e.g., circuitry 350) that provides orconditions one or more electrical currents flowing through therespective conductive tracks coupled to the respective leads.

The first plurality of conductive structures (442, 444, 446, 448, 450,452, 454, 456, 458, 459, etc.) may comprise electrically conductivematerial (e.g., copper, etc.) in a circular arrangement around axis 406,similarly to conductive structures 340. For instance, as shown in FIG.4C, the first plurality of conductive structures extends between circles440 and 441, which are concentric to axis 406. A region of side 430 abetween circles 440 and 441, for instance, may at least partiallyoverlap the plurality of magnets 420, 422, 424, 426, etc., of rotorplatform 410. Further, as shown in FIG. 4C, each conductive structure(e.g., structure 442, etc.) is tilted relative to a radius of circle 440(and 441) where the respective structure intersects with circle 440. Inaddition, the first plurality of conductive structures is in asubstantially coplanar arrangement. Thus, for instance, structures 442,444, 446 448, 450, 452, 454, 456, 458, 459, etc. can be formed aspatterned conductive tracks along a single layer of a circuit board(e.g., PCB).

Similarly, in FIG. 4D, the second plurality of conductive structures(472, 474, 476, 478, 480, 482, 484, 486, 488, 489, etc.) are in acircular arrangement that is substantially coplanar (e.g., along asecond layer of the PCB). Thus, for example, the first plurality ofconductive structures may be at a first distance to the plurality ofmagnets (420, 422, 424, 426, etc.) that is less than a second distancebetween the second plurality of structures and the plurality of magnets.

Additionally, structures 472, 474, 476, 478, 480, 482, 484, 486, 488,489, etc. extend, respectively, between circles 470 and 471. Circles 470and 471 may be similar to circles 440 and 441, for example, and may thusbe concentric to axis 406 with similar radii, respectively, as the radiiof circles 440 and 441. Further, each conductive structure (e.g.,structure 472, etc.) in FIG. 4D is positioned at a tilting anglerelative to a radius of circle 470 (and 471) where the respectivestructure intersects with circle 470. However, the second plurality ofstructures in FIG. 4D are at an opposite tilting angle to the tiltingangle of the first plurality of structures of FIG. 4C. For example,structure 442 (FIG. 4C) is shown to tilt away from circle 440 in aclockwise direction. Whereas, structure 472 (FIG. 4D) is shown to tiltaway from circle 470 in a counterclockwise direction.

To facilitate electrically coupling between the first plurality ofstructures (442, 444, 446, 448, 450, 452, 454, 456, 458, 459, etc.) andthe second plurality of structures (472, 474, 476, 478, 480, 482, 484,486, 488, 489, etc.), electrical contacts 462, 464, 466, 468, etc., maycomprise conductive material that extends through the PCB in a directionperpendicular to the page (e.g., vias) to connect respective conductivestructures that overlap at the respective positions of the respectivecontacts. For example, contact 462 electrically couples conductivestructure 442 (FIG. 4C) to conductive structure 472 (FIG. 4D), contact464 electrically couples conductive structure 444 (FIG. 4C) toconductive structure 474 (FIG. 4D), etc.

With this arrangement, the conductive structures in both layers ofplatform 430 may form one or more conductive paths that extend aroundaxis 406. For example, a first current can flow through a firstconductive path that comprises, in this order: lead 432, structure 442,contact 462, structure 472, contact 466, structure 446, etc., until thefirst current arrives at lead 436. Thus, for example, the first currentcan flow from structure 442 to structure 472 without flowing throughadjacent structure 444. Similarly, for example, a second current canflow through a second conductive path that comprises, in this order:lead 434, structure 444, contact 464, structure 474, contact 468,structure 448, etc., until the second current arrives at lead 438. Thus,the first conductive path may form a first coil that extends around axis406, and the second conductive path may form a second coil that extendsaround axis 406.

In some implementations, leads 432, 434, etc., of the first layer shownin FIG. 4C can be connected (directly or indirectly) to a first terminalof a power source (not shown), and leads 436, 438, etc., of the secondlayer shown in FIG. 4D can be connected to a second terminal of thepower source. As a result, in these implementations, each coil orconductive path of platform 430 may carry a portion of a same electricalcurrent. For instance, each coil in these implementations may beconnected to other coils in a parallel circuit configuration.

Regardless of the implementation, when electrical current(s) are flowingthrough the first and second pluralities of coplanar conductivestructures, a stator-platform magnetic field is generated through thecoil(s) formed by the electrically coupled conductive structures. Thestator-platform magnetic field could then interact with therotor-platform magnetic field associated with the magnets in rotorplatform 410 to cause a torque or force that rotates platform 410 aboutaxis 406. The stator-platform magnetic field, for example, may extendwithin the coil(s) defined by the first and second conductive pathsdescribed above in a clockwise or counterclockwise direction dependingon a direction of the respective electrical currents flowing through therespective conductive paths (or coils).

Thus, in some examples, the conductive structures shown in FIGS. 4C and4D can be electrically coupled to form a coreless PCB motor coil. Forinstance, the first plurality of conductive structures shown in FIG. 4Ccan be separated from the second plurality of conductive structuresshown in FIG. 4D by an insulating material, such as an electricallyinsulating layer (e.g., plastic, etc.) between the two layers shown inFIGS. 4C and 4D. In this instance, the stator-platform magnetic fieldcould extend through the insulating material. However, in otherexamples, a magnetically permeable core (not shown) can be insertedbetween the two layers of FIGS. 4C and 4D to direct the generatedstator-platform magnetic field. For instance, a middle layer (not shown)of platform 430 may include conductive material disposed between the twolayers of FIGS. 4C and 4D. In this instance, the conductive material inthe middle layer could also overlap the first plurality of conductivestructures and the second plurality of conductive structures. As aresult, the conductive material in the middle layer may thus beconfigured as a magnetic core that enhances the stator-platform magneticfield by directing the stator-platform magnetic field inside coil(s)defined by the respective conductive path(s) extending around axis 406and along the two layers shown in FIGS. 4C and 4D.

Magnetic field sensor 490 may be similar to sensor 390. To that end,sensor 490 may include any magnetometer, such as a Hall effect sensor,etc., that is configured to measure the rotor-platform magnetic fieldgenerated by the magnets (e.g., 420, 422, 424, 426, etc.) of platform410. Thus, for instance, a computing system (e.g., controller 334,circuitry 350, etc.) can determine an orientation of platform 410 aboutaxis 406 based on outputs from sensor 490.

To facilitate this, in some examples, sensor 490 can be positioned at alocation in platform 430 that substantially overlaps the rotor-platformmagnetic field of platform 410. For example, as shown in FIG. 4C, sensor490 is positioned in the region between circles 440 and 441 (the regionthat at least partially overlaps the magnets of platform 410).Additionally, to mitigate interference due to the stator-platformmagnetic field extending between the coils or conductive paths definedby the first and second pluralities of conductive structures, a portionof the coil-shaped conductive path extending around axis 406 in platform430 could be interrupted or modified in the region of platform 430 wheresensor 490 is located.

As shown in FIG. 4C, for example, the first plurality of conductivestructures comprise a plurality of spaced-apart conductive structuresthat are spaced apart by a substantially uniform distance. For instance,as shown, structures 442, 444 are separated by the substantially uniformdistance, and structures 446, 448 are also separated by thesubstantially uniform distance. Further, the first plurality ofconductive structures shown in FIG. 4C may include two adjacentstructures that are separated by a greater distance than thesubstantially uniform distance. For instance, as shown, adjacentstructures 454 and 456 are separated by the greater distance. Similarly,for example, the second plurality of conductive structures (shown inFIG. 4D) also includes two adjacent structures (e.g., 484, 486) that areseparated by a greater distance than the substantially uniform distancebetween other structures of the second plurality of structures. Thus, asshown in FIG. 4C, sensor 490 can be located between structures 454 and456 (i.e., within the “gap” in the coil-shaped conductive path(s)extending around axis 406).

To facilitate this arrangement, connectors 492 and 494, which extendaway from the region where sensor 490 is located (e.g., outside theregion between circles 440 and 441, etc.), can be employed toelectrically couple a portion of the coil-shaped conductive path(s) anda remaining portion of the coil-shaped conductive path(s). To that end,connectors 492 and 494 may comprise conductive material (e.g., copper,metal, metal compound, etc.) that is shaped and/or disposed at anappropriate distance from sensor 490 to reduce the effect of thestator-platform magnetic field at a location of sensor 490.

As shown, for instance, connector 492 electrically couples, via anelectrical contact, conductive structure 454 (FIG. 4C) to conductivestructure 489 (FIG. 4D). Similarly, connector 494 electrically couplesconductive structure 484 (FIG. 4D) to conductive structure 459 (FIG.4C). Although not shown, platform 430 may also include additionalconnectors (e.g., similar to connectors 492 or 494) that are configuredto electrically connect additional conductive paths around axis 406while reducing the stator-platform magnetic field at the location ofsensor 490. In a first example, a connector (not shown) couldelectrically couple structure 452 (FIG. 4C) to structure 488 (FIG. 4D).In a second example, a connector (not shown) could electrically couplestructure 450 (FIG. 4C) to structure 486 (FIG. 4D). In a third example,a connector (not shown) could electrically couple structure 480 (FIG.4D) to structure 456 (FIG. 4C). In a fourth example, a connector (notshown) could electrically couple structure 482 (FIG. 4D) to structure458 (FIG. 4C).

Further, although connectors 492 and 494 are shown to be disposed alonga same PCB layer (e.g., side 430 a), in some examples, one or moreconnectors can be alternatively disposed along the layer shown in FIG.4D or another layer (not shown) of platform 430. Further, althoughmagnetic sensor 490 is shown to be mounted to side 430 a of platform430, in some examples, sensor 490 can be alternatively positioned alonga different side (e.g., side 430 b) of platform 430 or any otherposition within a portion of the rotor-platform magnetic field betweenconductive structures 454, 456, 484, 486. For instance, in animplementation where the second plurality of conductive structures 472,474, 476, 478, 480, 482, 484, 486, 488, 489, etc. are disposed alongside 430 b of platform 430, sensor 490 can be alternatively mountedbetween structures 484 and 486. Other positions for sensor 490 arepossible as well (e.g., between sides 430 a and 430 b, etc.).

Further, in some examples, platform 430 may include more components thanthose shown, such as any of the components (e.g., communicationinterface 335, power interface 338, etc.) included in platform 330 forinstance. Referring back to FIG. 4C by way of example, platform 430 canbe implemented as a circuit board (e.g., PCB), and the region betweenaxis 406 and circle 440 can include power interface components (e.g.,transformer coils), and/or communication interface components (e.g.,wireless transmitters, light sources, detectors, etc.), among otherpossibilities.

It is noted that the shapes, dimensions, and relative positions shown inFIGS. 4A-4D for device 400 and/or components thereof are not necessarilyto scale and are only illustrated as shown for convenience indescription. To that end, for example, device 400 and/or one or morecomponents thereof can have other forms, shapes, arrangements, and/ordimensions as well. It is also noted that device 400 may include feweror more components than those shown, such as any of the components ofdevice 300 (e.g., interfaces, sensors, controllers, etc.), among others.In one example, although six leads are shown for each layer of FIGS. 4Cand 4D, device 400 could alternatively include more or fewer leads for adifferent number of conductive paths extending around axis 406. Inanother example, although device 400 is shown to include a particularnumber of magnets in platform 410, device 400 can alternatively includemore or fewer magnets.

FIG. 5 is a conceptual illustration 500 of the relationship betweenorientations of a rotor platform and outputs from a magnetic fieldsensor, according to an example embodiment. FIG. 5 illustrates ascenario where rotor platform 410 is rotated for a complete rotation ata constant rate and in a clockwise direction about axis 406. To thatend, the horizontal axis of the plot in illustration 500 may indicatetime (e.g., in seconds) from an initial orientation of platform 410until platform 410 rotates for a complete (e.g., 360 degree) rotationabout axis 406. In the scenario, sensor 490 may be configured to providea 3D representation of the rotor-platform magnetic field at a locationof sensor 490 (e.g., vector field). Thus, the X-curve, Y-curve, andZ-curve indicated in legend 502 may correspond, respectively, to anx-component, y-component, and z-component of the measured magnetic fieldby sensor 490. To that end, for plots X, Y, Z, the vertical axis of theplot in illustration 500 may indicate measured magnetic fields (e.g., inTeslas). Further, the curve “atan 2(Z, X)” indicated in legend 502 maycorrespond to a computed magnetic field angle based on an application ofthe “atan 2” function to the z-component and x-component of the output.The atan 2 computation may be similar to computing an arc tangent of:the z-component output divided by the x-component output. However,unlike the arc tangent computation, the atan 2 function provides anoutput angle in radians between the positive x-axis of a plane and thepoint given by the co-ordinates (X, Z) on the plane. For example, anatan 2 computed angle may comprise a positive value forcounter-clockwise angles (e.g., Z>0), and a negative value forclock-wise angles (e.g., Z<0). By doing so, unlike a simple arc tangentcomputation, atan 2 can provide an output in the range of −π Radians toπ Radians, while also avoiding the issue of division by zero (e.g.,where the value of the x-component is zero). To that end, as shown forthe curve of “atan 2(Z, X),” the vertical axis may indicate an angularcomputation (e.g., in Radians).

Referring back to FIG. 4C, the y-component indicated by the Y-curve maycorrespond to a component of the rotor-platform magnetic field that isalong a y-axis extending through sensor 490 toward axis 406. Thez-component indicated by the Z-curve may correspond to a component ofthe rotor-platform magnetic field that is along a z-axis extendingthrough sensor 490 and out of the page. The x-component indicated by theZ-curve may correspond to a component of the rotor-platform magneticfield along an x-axis of sensor 490 that is perpendicular (e.g.,orthogonal) to the y-axis and the z-axis.

With this configuration, for instance, the maxima of the Z-curve shownin illustration 500 may correspond to orientations of platform 410 wheresensor 490 is aligned with a magnet that is magnetized in a positivedirection of the z-axis (e.g., South Pole pointing out of the page). Forexample, the z-maximum at arrow 504 indicates an orientation of platform410 where magnet 420 is aligned with sensor 490. Further, the minima ofthe Z-curve may correspond to orientations of platform 410 where sensor490 is aligned with a magnet that is magnetized in a negative directionof the z-axis (e.g., North Pole pointing out of the page). For example,the z-minimum at arrow 506 indicates an orientation of platform 410where magnet 426 is aligned with sensor 490.

Thus, with this arrangement, an indication of the orientation ofplatform 410 between two adjacent magnets can be computed (e.g., the“atan 2(Z, X)” curve) as the atan 2 computation for: the z-component andthe x-component. This computation, for example, can be performed bycontroller 334 and/or circuitry 350. The atan 2(Z, X) curve represents anormalized orientation of platform 410 between any two magnets. Forexample, each orientation of platform 410 where sensor 490 is alignedwith a magnet may correspond to a value of zero radians or a value of piradians (depending on the direction of the z-axis). Thus the variousdevices and systems herein (e.g., vehicles 100, 200, devices 300, 400)can use the atan 2(Z, X) computation as a mapping for orientations ofplatform 410 relative to any two magnets.

Further, as noted above, an index magnet can be used to facilitatecomputing an absolute orientation of platform 410 about axis 406.Referring back to FIG. 4C by way of example, index magnet 422 ispositioned at an offset distance to axis 406 (i.e., an offset along they-axis of sensor 490) compared to other magnets (e.g., 420, 424, 426,etc.) of platform 410. As a result, for example, the y-component of therotor-platform magnetic field measured by sensor 490 may experience ananomaly for orientations of platform 410 where sensor 490 overlaps aregion between magnets 420 and 424. Arrow 508 points to a y-maximum thatis associated with the sensor 490 being in such region (e.g., betweenmagnets 420 and 424). As shown, the y-maximum 508 is significantly lowerthan other y-maxima of the Y-curve in illustration 500. Thus, they-component anomaly can be used by device 400 to detect an indexposition of platform 410, and then map other positions between differentpairs of magnets as absolute orientations of platform 410 relative tothe index position or orientation.

Further, as shown, the y-component anomaly is substantially independentfrom the x-component and z-component measurements. Thus, the y-axisdisplacement of index magnet 422 can allow device 400 to measure theorientation of platform 410 (e.g., using the x-component andz-component), while also detecting the index orientation using they-component.

FIG. 6 is a cross-section view of another device 600 that includes arotary joint, according to an example embodiment. For example, device600 may be similar to devices 300 and 400. To that end, device 600includes a rotor platform 610 having a side 610 a, that are similar,respectively to rotor platform 410 and side 410 a. Further, as shown,device 600 includes an axis of rotation 606, magnets 620, 624, 626, andmount 628, that are similar, respectively, to axis 406, magnets, 420,424, 426, and mount 428.

As noted above, in some examples, index magnet 422 may have alternativeor additional differentiating characteristics other than a displacementalong the y-axis of sensor 490 (i.e., distance to axis 406). Forexample, unlike index magnet 422, index magnet 622 is at a same distanceto axis 606 as other magnets (e.g., 620, 624, 626, etc.) of platform610. However, as shown, index magnet 622 has a smaller size (e.g.,length) compared to the other magnets. As a result, index magnet 622 mayalso exhibit an anomaly (e.g., similar to y-maximum 508) that allowsdevice 600 to identify an index orientation of platform 610 about axis606.

FIG. 7 is a cross-section view of another device 700 that includes arotary joint, according to an example embodiment. For example, device700 may be similar to devices 300, 400, 600. To that end, device 700includes a rotor platform 710 and a side 710 a that are similar,respectively, to rotor platform 410 and side 410 a. Further, as shown,device 700 includes an axis of rotation 706, magnets 720, 724, 726, andmount 728 that are similar, respectively, to axis 406, magnets, 420,424, 426, and mount 428.

However, unlike index magnet 422, index magnet 722 is at a same distanceto axis 706 as other magnets (e.g., 720, 724, 726, etc.) of platform710. Instead, as shown, index magnet 722 is arranged adjacent to anothermagnet 723 (e.g., within the indentation that accommodates magnet 722 inthe circular arrangement of magnets around axis 706). Further, magnet723 could be magnetized in a direction opposite to a magnetizationdirection of magnet 722 (e.g., indicated by South Pole “S” pointing outof the page). Thus, magnet 723 may distort the magnetic field providedby index magnet 722 such that index magnet 722 exhibits an anomaly(e.g., similar to y-maximum 508) that allows device 700 to identify anindex position or orientation of platform 710 about axis 706.

Alternatively, although not shown, magnets 722 and 723 can beimplemented as a single magnet (e.g., printed magnet, etc.) thatincludes a portion that is magnetized along one direction (e.g., SouthPole pointing out of page) and another portion that is magnetized alongan opposite direction (e.g., North Pole pointing out of page).

FIG. 8 is a cross-section view of another device 800 that includes arotary joint, according to an example embodiment. For example, device800 may be similar to devices 300, 400, 600, 700. To that end, device800 includes a rotor platform 810 and a side 810 a that are similar,respectively, to rotor platform 410 and side 410 a. Further, as shown,device 800 includes an axis of rotation 806 that is similar to axis 406.As shown, device 800 also includes a ring magnet 820 that is similar tomagnet 320.

As noted above, in some examples, magnet 320 can be implemented as asingle ring magnet. Thus, as shown, ring magnet 820 is an example singlemagnet implementation that can be used instead of the plurality ofmagnets 420, 422, 424, 426, etc., of device 400. For example, ringmagnet 820 can be physically implemented as a printed magnet that has amagnetization pattern similar to the arrangement of magnets in device400 (e.g., adjacent regions of magnet 820 magnetized in alternatingdirections, etc.).

For example, a first ring sector (e.g., annulus sector, etc.) of ringmagnet 820 may correspond to a region of magnet 820 having an angularwidth between radii 822 and 824. As shown, the first ring sector couldbe a magnetized region of ring magnet 820 that is magnetized in a firstdirection (parallel to axis 806) that is pointing into the page. This isillustrated by the white background of the first ring sector and theletter “S” (i.e., South Pole pointing out of the page). Similarly, forexample, a second ring sector of ring magnet 820 (adjacent to the firstring sector) may correspond to a region of magnet 820 having an angularwidth between radii 824 and 826. Further, as shown, at least a portionof the second ring sector is magnetized in an opposite direction to thatof the first ring sector. This is illustrated by the differentbackground pattern of the second ring sector and the letter “N” (i.e.,North Pole pointing out of the page).

Additionally, the second ring sector (between radii 824 and 826) showsan alternative implementation for index magnet 422. As shown, the regionbetween radii 824 and 826 is configured as an index ring sector bymagnetizing a portion of the index ring sector along a first direction(e.g., “N” North Pole pointing out of the page) and another portion ofthe index ring sector along an opposite direction (e.g., portion with awhite background that has a same magnetization direction “S” South poleas adjacent ring sectors between radii 822, 824 and radii 826, 828).Thus, the index ring sector of ring magnet 820 illustrates analternative “index magnet” implementation that can also provide ananomaly (e.g., similar to y-maximum 508) in an output of a magneticfield sensor (e.g., sensor 390, 490, etc.) to facilitate determining anabsolute position or orientation of rotor platform 810 about axis 806.

Additionally, in an example scenario where magnet 820 replaces magnets420, 422, 424, 426, etc. of device 400, conductive structures 442, 444,446, 448, 450, 452, 454, 456, 458, 459, etc., may remain within distance408 to magnet 820 in response to rotation of platform 410 about axis406. Further, in the scenario, an electrically conductive path definedby one or more of the conductive structures could remain at leastpartially overlapping ring magnet 820 as platform 410 rotates about axis406.

FIG. 9 is a simplified block diagram of a sensor unit device 900 thatincludes an adjustable sensor mounting platform 906, according to anexample embodiment. Sensor unit 900 may be similar to sensor units 102,104, 106, 108, 110, and/or any combination of the components in sensorsystem 204. As shown, sensor unit 900 includes one or more actuators902, one or more encoders 904, a sensor platform 906, a temperaturesensor 910, a conditioning device 912, and a controller 914. It is notedthat sensor unit 900 may include additional or fewer components thanthose shown. In one example, sensor unit 900 may include any of thecomponents of vehicle 200 in addition to or instead of the componentsshown. In another example, device 900 can be implemented withouttemperature sensor 910 and/or without conditioning device 912. Otherexamples are possible as well.

Actuator(s) 902 may include one or more actuators similar to actuator(s)236. In one implementation, actuator 902 may be configured to rotateplatform 906 about an axis of rotation that is substantially parallel toan axis of rotation of a vehicle (e.g., yaw axis, roll axis, pitch axis,etc.), and/or any other axis of rotation.

Encoder(s) 904 may include any combination of encoders (e.g., mechanicalencoders, optical encoders, magnetic encoders, capacitive encoders,etc.), and may be configured to provide an indication of an orientationof platform 906 in response to actuator 902 rotating platform 906. Thus,in one example, encoder 904 may be configured to provide encoder outputsignals indicative of angular positions of platform 906 about an axis ofrotation of platform 906.

In some examples, both actuator 902 and encoder 904 may include one ormore shared physical components. By way of example, actuator 902 mayinclude a plurality of magnets disposed on platform 906 (e.g., similarlyto the magnets of device 400 shown in FIG. 4B), and a plurality ofconductive structures disposed in another platform (not shown) of device900 opposite to platform 906 (e.g., similarly to the conductivestructures of device 400 shown in FIGS. 4C and 4D). Further, in thisexample, encoder 904 may also include the same plurality of magnetsdisposed on platform 906 together with a magnetic field encoder disposedon the other opposite platform (e.g., similarly to magnetic field sensor490 shown in FIG. 4C).

Platform 906 may include any solid structure suitable for mounting asensor (e.g., sensor 908). For example, platform 906 may include a rotorplatform that rotates relative to a stator platform in a rotary jointconfiguration.

Sensor 908 may include any combination of the sensors included in sensorsystem 204. In some implementations, sensor 908 comprises an orientationsensor, such as a gyroscope for instance, that is mounted on platform906 and aligned with a directional axis of a vehicle (e.g., axis 114,116, or 118) to provide an indication of a direction of motion of thevehicle. For example, a gyroscope sensor 908 may provide an outputsignal that indicates a rate of change in a pointing direction of thegyroscope sensor (e.g., yaw direction, pitch direction, roll direction,etc.) in response to motion of the gyroscope (e.g., due to the rotationof platform 906 or motion of a vehicle that includes sensor unit 900).Thus, in various examples, sensor 908 can be configured as a “yawsensor” that provides an indication of a yaw rate of rotation of the yawsensor (e.g., rate of rotation of the sensor about axis 114 of vehicle100), a “pitch sensor” that provides an indication of a pitch rate, or a“roll sensor” that provides an indication of a roll rate. Thus, in oneexample, orientation sensor 908 may be mounted on platform 906 andconfigured to provide sensor output signals indicative of an orientation(or a rate of change thereof) of orientation sensor 908.

Temperature sensor 910 may comprise any type of temperature sensor suchas a thermometer, thermistor, thermocouple, resistance thermometer,silicon bandgap temperature sensor, among others. In some examples,temperature sensor 910 can be arranged adjacent or near sensor 908 toprovide an indication of a temperature of sensor 908 and/or atemperature of air surrounding sensor 908. For example, temperaturesensor 910 can be used during calibration to associate the measuredtemperature with the measurements provided by sensor 908.

Conditioning device 912 may comprise any type of temperatureconditioning device such as an air conditioner, a heating element, aresistive heating element, an air cooling device, among other examples.In some implementations, conditioning device 912 can be arranged nearand/or coupled to sensor 908 to adjust the temperature of the sensor. Inone example, conditioning device 912 can be used to simulate differenttemperatures of operation during calibration of sensor 908 and thusallow a vehicle performing the calibration to obtain or generatecalibration data that is suitable for various environmental conditions(e.g., temperatures) that are expected during operation of the vehicle.In another example, conditioning device 912 can be used to adjust atemperature of sensor 908 to a given temperature within a temperaturerange suitable for previously generated calibration data. For instance,device 900 could store calibration data that was collected when sensor908 was at a particular temperature. Further, in this instance, device900 may include or otherwise access an indication of a threshold rangeof temperatures in which the stored calibration data is suitable formitigating measurement errors by sensor 908. Thus, in an examplescenario, device 900 or a component thereof (e.g., controller 914) coulddetect (e.g., via temperature sensor 910) that a current temperature isoutside the threshold range of temperatures, and responsively operateconditioning device 912 to adjust the temperature of sensor 908 to thegiven temperature within the threshold range of temperatures.

Controller 914 may include any combination of circuitry and/or computerlogic executable to perform the functions of the various methods in thepresent disclosure. In one example, controller 914 can be implemented asone or more processors and data storage storing instructions executableby the one or more processors, similarly to the computer system 210 ofvehicle 200. In another example, controller 914 can be implemented asdigital and/or analog circuitry wired to perform the various functionsof the present disclosure. Other implementations (e.g., combination ofcomputer program logic and circuitry) are possible as well.

IV. Example Methods and Computer-Readable Media

FIG. 10 is a flowchart of a method 1000, according to an exampleembodiment. Method 1000 shown in FIG. 10 presents an embodiment of amethod that could be used with any of vehicles 100, 200, and/or devices300, 400, 600, 700, 800, for example. Method 1000 may include one ormore operations, functions, or actions as illustrated by one or more ofblocks 1002-1004. Although the blocks are illustrated in a sequentialorder, these blocks may in some instances be performed in parallel,and/or in a different order than those described herein. Also, thevarious blocks may be combined into fewer blocks, divided intoadditional blocks, and/or removed based upon the desired implementation.

In addition, for method 1000 and other processes and methods disclosedherein, the flowchart shows functionality and operation of one possibleimplementation of present embodiments. In this regard, each block mayrepresent a module, a segment, a portion of a manufacturing or operationprocess, or a portion of program code, which includes one or moreinstructions executable by a processor for implementing specific logicalfunctions or steps in the process. The program code may be stored on anytype of computer readable medium, for example, such as a storage deviceincluding a disk or hard drive. The computer readable medium may includea non-transitory computer readable medium, for example, such ascomputer-readable media that stores data for short periods of time likeregister memory, processor cache and Random Access Memory (RAM). Thecomputer readable medium may also include non-transitory media, such assecondary or persistent long term storage, like read only memory (ROM),optical or magnetic disks, compact-disc read only memory (CD-ROM), forexample. The computer readable media may also be any other volatile ornon-volatile storage systems. The computer readable medium may beconsidered a computer readable storage medium, for example, or atangible storage device.

In addition, for method 1000 and other processes and methods disclosedherein, each block in FIG. 10 may represent circuitry that is wired toperform the specific logical functions in the process.

Method 1000 is an example method for rotating a rotor platform (e.g.,first platform 310, etc.) of a device (e.g., device 300, etc.) relativea stator platform (e.g., second platform 330, etc.) of the device andabout an axis of rotation of the rotor platform (e.g., axis 406, etc.).Thus, in some examples, the rotor platform may remain within a givendistance (e.g., distance 408, etc.) to the stator platform in responseto rotation of the rotor platform about the axis of rotation, in linewith the discussion above.

At block 1002, method 1000 involves causing an electrical current toflow through an electrically conductive path included in the statorplatform and extending around the axis of rotation of the rotorplatform. By way of example, device 300 may include circuitry 350 (e.g.,power source(s), voltage regulator(s), current amplifier(s), wiring,etc.) that provides the electrical current to the electricallyconductive path. To that end, for instance, the electrically conductivepath may be defined by a first plurality of coplanar conductivestructures (e.g., one or more of structures 442, 444, 446, 448, 450,452, 454, 456, 458, 459, etc.) that are electrically coupled to oneanother. Further, for example, the electrically conductive path may alsoinclude a second plurality of coplanar conductive structures (e.g., oneor more of structures 472, 474, 476, 478, 480, 482, 484, 486, 488, 489,etc.) that are parallel and electrically coupled to the first pluralityof coplanar structures to form a coil extending around the axis ofrotation.

Thus, as noted above, the electrical current flowing through the coil(i.e., arrangement of planar conductive structures) may generate astator-platform magnetic field that interacts with a rotor-platformmagnetic field of the rotor platform such that the rotor-platformrotates about the axis of rotation. For example, the interaction of themagnetic fields may induce a torque or force that causes the rotorplatform to rotate about the axis of rotation in a clockwise orcounterclockwise direction (depending on direction of the providedelectrical current).

At block 1004, method 1000 involves modulating the electrical current toadjust an orientation of the first platform about the axis of rotationto achieve a target orientation. By way of example, consider a scenariowhere sensor 312 is a gyroscope (e.g., direction) sensor mounted onplatform 310. In the scenario, a controller 314 (or 344) may beconfigured to process outputs from sensor 312 and rotate platform 310until sensor 312 measures a specific target change in direction (e.g., avalue of zero, etc.). In this scenario, circuitry 350 can modulate theelectrical current to cause platform 310 to rotate in a particulardirection and/or speed opposite to a change in direction or speedmeasured by sensor 312. Other scenarios are possible as well.

Thus, in some implementations, method 1000 also involves modulating acharacteristic of the rotation of the rotor platform (e.g., rate ofrotation, acceleration of rotation, direction of rotation, etc.).Additionally or alternatively, in some implementations, method 1000 alsoinvolves obtaining output of a magnetic field sensor (e.g., sensor 490),and determining an orientation of the rotor platform about the axis ofrotation based on the output of the magnetic field sensor, in line withthe discussion above.

FIG. 11 is a flowchart of another method 1100, according to an exampleembodiment. Method 1100 shown in FIG. 11 presents an embodiment of amethod that could be used with any of vehicles 100, 200, devices 300,400, 600, 700, 800, 900, and/or method 1000, for example. Method 1100may include one or more operations, functions, or actions as illustratedby one or more of blocks 1102-1108. Although the blocks are illustratedin a sequential order, these blocks may in some instances be performedin parallel, and/or in a different order than those described herein.Also, the various blocks may be combined into fewer blocks, divided intoadditional blocks, and/or removed based upon the desired implementation.

At block 1102, method 1100 involves generating a calibration controlsignal for controlling an actuator configured to rotate a first platformabout an axis. The calibration control signal may cause the actuator torotate the first platform at least one complete rotation about the axis.By way of example, a system of method 1100 may include a controller(e.g., computer system 210, controller 314, controller 334, controller914, etc.) configured to generate the calibration control signal as amodulated electrical current that flows through the conductivestructures of device 400 (shown in FIGS. 4C-4D) such that platform 410(shown in FIG. 4A) rotates about axis 406 in a predetermined manner(e.g., at a particular rate of rotation and/or in a particular rotationdirection during each complete rotation about the axis).

In some examples, causing the first platform to rotate a given completerotation of the at least one complete rotation comprises the actuatorcausing the first platform to rotate from a particular angular positionabout the axis at a start time and position of the given completerotation and in a particular direction of rotation until the firstplatform is at the particular angular position again at a stop time andposition of the given complete rotation. Referring back to FIG. 4A, forexample, the actuator may cause platform 410 to rotate in a clockwisedirection from a particular angular position about axis 406 for 360degrees (e.g., when platform 410 is back to that same particular angularposition about axis 406, where start and stop positions are the same ordirectly adjacent to each other, etc.).

In some examples, the system of method 1100 may include a plurality ofmagnets mounted to the first platform and arranged around the axis ofrotation of the first platform, similarly to the magnets of device 400shown in FIG. 4B for example. In these examples, the plurality ofmagnets may generate a first magnetic field based on the arrangement ofthe plurality of magnets around the axis of rotation. Additionally, thesystem may include a second platform (e.g., platform 430 shown in FIG.4A) configured to remain within a given distance (e.g., distance 408) tothe first platform in response to the actuator rotating the firstplatform about the axis. Additionally, in some examples, the system mayinclude a plurality of conductive structures disposed in the secondplatform and arranged around the axis of rotation, similarly to theconducting structures of device 400 shown in FIGS. 4C-4D. For instance,the plurality of conductive structures may form an electricallyconductive path that extends around the axis of rotation based on thearrangement of the plurality of conductive structures, similarly to theconductive structures described for device 400. In these examples, theactuator of block 1102 may thus include the plurality of conductivestructures of the second platform and the plurality of magnets of thefirst platform.

In some examples, method 1100 may also involve providing the calibrationcontrol signal (generated at block 1102) into the electricallyconductive path defined by the plurality of structures. Thus, in theseexamples, the plurality of conductive structures may generate a secondmagnetic field based on the calibration control signal; and the firstmagnetic field of the first platform may interact with the secondmagnetic field of the second platform to cause the first platform torotate about the axis.

At block 1104, method 1100 involves receiving, from an encoder (e.g.,sensor 390, sensor 490, encoder 904, etc.), encoder output signalsindicative of angular positions of the first platform about the axis. Byway of example, a controller of LIDAR 400 may receive the encoder outputsignals from sensor 490, which may indicate which of the magnets shownin FIG. 4B overlaps sensor 490 during the rotation of platform 410 aboutaxis 406.

In some examples, method 1100 involves detecting completion of eachcomplete rotation of the at least one complete rotation of the firstplatform about the axis (e.g., caused by the actuator at block 1102)based on the encoder output signals.

In a first example, referring back to FIGS. 4B and 4C, a system ofmethod 1100 may detect completion of each complete rotation of platform410 about axis 406 when sensor 490 provides a particular encoder outputsignal that indicates presence of index magnet 422 above sensor 490(i.e., when platform 410 is at an index angular position about axis406).

In a second example, the system may detect the completion of eachcomplete rotation of platform 410 based on sensor 490 providing a sameparticular encoder signal associated with a particular angular positionat a start of the complete rotation and at the end of the completerotation. Thus, the particular encoder signal does not necessarily haveto be associated with an index position of platform 410 about axis 406.

More generally, some example encoder measurement errors may besystematic and repeatable (i.e., consistently occur in a particularmanner during each complete rotation). For instance, an error caused byan offset in a mounting position of a particular magnet of the magnetsshown in FIG. 4B relative to an expected mounting position may cause thesame encoder measurement error each time sensor 490 overlaps thatparticular magnet while platform 410 is rotating. In another instance,an error associated with a circularity or concentricity of thearrangement of the magnets shown in FIG. 4B may also be substantiallyconsistent during each complete rotation of platform 410 about axis 406.Thus, in some examples, the encoder output signals received at block1104 may provide a relatively reliable and/or repeatable signal fordetecting completion of each complete (360 degree) rotation of the firstplatform about the axis.

At block 1106, method 1100 involves receiving, from an orientationsensor mounted on the first platform, sensor output signals indicativeof a rate of change to an orientation of the orientation sensor.Referring back to FIG. 4A for example, the sensor output signals atblock 1106 may be provided by the sensor 412 that is disposed onplatform 410. For instance, sensor 412 may include a gyroscope 412 thatmeasures the rate of change to the orientation of gyroscope 412 aboutaxis 413.

At block 1108, method 1100 involves determining, based on given outputsignals received from the orientation sensor during the at least onecomplete rotation, calibration data for mapping the encoder outputsignals to calibrated measurements of the angular positions of the firstplatform about the axis.

By way of example, a system of method 1100 can use the measurements fromthe orientation sensor indicated by the given sensor output signals toestimate given angular positions of the first platform during each ofthe at least one complete rotations caused by the actuator according tothe calibration control signal. The system may then compare theestimated measurements of the angular positions indicated by theorientation sensor with corresponding measurements of the angularpositions indicated by the encoder.

Ideally, both the sensor and encoder measurements should match oneanother. However, in some scenarios, the encoder measurements mayinclude a variety of measurement errors. Referring back to FIG. 4B forexample, the encoder measurements may include errors caused by amisalignment of one or more of the plurality of magnets mounted toplatform 410 relative to expected positions of the magnets. As anotherexample, the circularity of the arrangement of the magnets shown in FIG.4B may be offset from an expected circularity. Other example sources ofencoder measurement errors are possible, such as unexpected magneticproperties (e.g., polarization direction, magnetic field strength, etc.)among others. Thus, encoder output signals associated with suchmisaligned configurations may be different than expected encoder outputsignals associated with an aligned configuration of the variouscomponents of the encoder. Referring back to FIG. 5 for example, suchmisalignments may cause the magnetic field strengths indicated by the X,Y, and Z signals shown in FIG. 5 have different shapes than thesubstantially uniform sinusoidal signal shapes shown.

Accordingly, in some examples, a system of 1100 may determine thecalibration data at block 1108 (e.g., look up table,fast-fourier-transform (FFT) coefficients, or any other type ofcalibration data) by mapping the apparent angular positions indicated bythe encoder with corresponding estimated angular positions of the firstplatform indicated by the given sensor output signals from theorientation sensor.

In some examples, method 1100 involves estimating a rate of rotation ofthe first platform during the at least one complete rotation of thefirst platform about the axis based on the given sensor output signals;and modulating the calibration control signal based on the estimatedrate of rotation. Referring back to FIG. 4A for example, a system ofmethod 1100 may use the sensor output signals from orientation sensor412 to drive the rate of rotation of platform 410 toward a target rateof rotation. In this way for instance, measurement errors (e.g., scalefactor errors) associated with orientation sensor 412 can be controlledor reduced (e.g., by keeping the rate of change to the orientation ofsensor 412 at or near a value of zero to reduce the scale factorerrors). Accordingly, in some examples, modulating the calibrationcontrol signal optionally comprises modulating the calibration controlsignal based on a difference between the estimated rate of rotation anda target rate of rotation.

In some examples, method 1100 involves modulating the calibrationcontrol signal during the at least one complete rotation of the firstplatform about the axis based on the sensor output signals (received atblock 1106) and the encoder output signals (received at block 1104). Byway of example, a system of method 1100 can use the encoder outputsignals to monitor respective time periods between a start and end ofeach complete rotation (and thus control the rate of rotation duringeach respective time period); and also use the sensor output signals tocontrol the uniformity of the rate of rotation of the first platformduring each time period (e.g., by keeping the magnitude of the rate ofchange to the orientation of the orientation sensor near zero or othertarget rate, etc.).

In some examples, the encoder of block 1104 is a magnetic encoder. Forinstance, the magnetic encoder may include a plurality of magnetsarranged around the axis of rotation of the first platform, similarly tothe magnets of device 400 shown in FIG. 4B. Further, for instance, themagnetic encoder may also include a magnetic field sensor similar tosensor 490 shown in FIG. 4C. In these examples, method 1100 may alsoinvolve identifying a defect in the magnetic encoder based on thecalibration data.

In a first example, identifying the defect in the magnetic encodercomprises identifying a particular magnet of the plurality of magnetsthat is positioned at an offset from an expected position of theparticular magnet in the arrangement of the plurality of magnets aroundthe axis of rotation. Referring back to FIG. 4B for example, if magnet424 is at a different position than the position shown in FIG. 4B, thenthe magnetic field angles measured by sensor 490 between a first angularposition when sensor 490 overlaps magnet 422 and a second angularposition when sensor 490 overlaps 426 may not correspond to expectedmagnetic field angles that would be measured if magnet 424 was mountedat a correct position. Thus, a system of method 1100 may identify theoffset between the actual position of magnet 424 and the expectedposition based on given encoder output signals indicated by sensor 490between the first and second angular positions of platform 410. Forinstance, the system may compare the calibration data with previouslycollected calibration data to detect occurrence of the defect.

In a second example, identifying the defect in the magnetic encodercomprises identifying a particular magnet of the plurality of magnetsbased on the particular magnet having a particular magnetic propertythat is offset from an expected magnetic property. For example, theparticular magnetic property may correspond to any of a magnetic fieldstrength, a magnetic polarization direction, a size, and/or a shape ofthe particular magnet. For instance, similarly to the example above forthe offset mounting position of the particular magnet, other variationsof various magnetic properties of the particular magnet can be detectedbased on a corresponding change to associated given encoder outputsignals (e.g., outputs from sensor 490 when platform 410 rotates betweenthe first angular position associated with magnet 422 and the secondangular position associated with magnet 426).

In a third example, the device includes a magnetic field sensor mountedon a second platform opposite the first platform. In this example,identifying the defect in the magnetic encoder comprises identifying amisalignment between the axis of rotation of the first platform and anormal axis of the second platform. Referring back to FIG. 4A forexample, the misalignment may correspond to a scenario where axis 406 ofrotation of platform 410 is not perpendicular to surface 430 a ofplatform 430 (e.g., the surface where sensor 490 is mounted as shown inFIG. 4C). In this example, a concentricity of a first magnetic fieldgenerated by the plurality of magnets shown in FIG. 4B at the surface430 a relative to axis 406 may be offset from an expected concentricity(e.g., a geometric plane that uniformly intersects the first magneticfield may not be parallel to surface 430 a). As a result, measurementsof the magnetic field strengths indicated by sensor 490 during eachcomplete rotation may include a sinusoidal measurement error componentassociated with the offset in the concentricity of the first magneticfield caused by the misalignment between axis 406 and the normal axis ofsurface 430 a where sensor 490 is mounted. In turn, the system of method500 may identify the offset between axis 406 and the normal axis ofsurface 430 a based on characteristics of the sinusoidal measurementerror component indicated by the calibration data, for example.

In some examples, method 1100 involves identifying, based on thecalibration data, sinusoidal characteristics of the mapping between theencoder output signals and estimated measurements of the angularpositions of the first platform indicated by the given sensor outputsignals from the orientation sensor.

In a first example, as noted above, the sinusoidal characteristics mayindicate a misalignment between the axis of rotation of the firstplatform and a normal axis of a second platform opposite to the firstplatform.

In a second example, the sinusoidal characteristics may indicate offsetsin the mounting positions of the plurality of magnets on the firstplatform. For instance, if the actual distances between the magnetsshown in FIG. 4B is offset from an expected uniform distance, thensinusoidal measurement errors may result in the output signals of sensor490 when sensor 490 overlaps regions between two magnets that are notuniformly separated from one another (e.g., as compared to other pairsof magnets that are uniformly separated in the circular arrangement ofthe magnets). Thus, the sinusoidal characteristic of such measurementerrors could be determined in a similar manner as the determination ofthe sinusoidal characteristic associated with the misalignment of theaxis of rotation and the normal axis of the second platform.

In these examples, method 110 may also optionally involve generating acompressed representation of the calibration data (of block 1108) basedon the identification of the sinusoidal characteristics; and storing thecompressed representation in data storage. For example, a system ofmethod 1100 may compute fast-fourier-transform (FFT) coefficientsindicative of the identified sinusoidal characteristics instead of or inaddition to storing an uncompressed mapping (e.g., look up table)between values of measurements indicated by the orientation sensor andcorresponding values of measurements indicated by the encoder. In thisway for instance, the compressed calibration data (e.g., FFTcoefficients) can be stored in a reduced memory space (e.g., datastorage 214, etc.) and/or can be used to map the encoder output signalswith the calibrated angular measurements in a computationally efficientmanner.

In some examples, a device of method 1100 may be mounted on a vehicleconfigured to navigate an environment based on at least data from thedevice. Referring back to FIG. 1B for example, vehicle 100 may beconfigured to use device 400 (shown in FIGS. 4A-4D) to measure a yawdirection of vehicle 100 about axis 114. In this example, the vehiclemay also include a navigation system (e.g., navigation system 248 ofvehicle 200) configured to use the measurement of the yaw direction tonavigate the vehicle in the environment (e.g., in an autonomous mode,etc.).

In some examples, method 1100 may involve determining whether thevehicle is moving in the environment; and based on a determination thatthe vehicle is not moving in the environment, enabling a calibrationmode of the device. Further, in these examples, generating thecalibration control signal at block 1102 may be based on the calibrationmode being enabled. Referring back to FIG. 2 for example, vehicle 200may include one or more sensors that measure motion of the vehicle(e.g., GPS 226, IMU 228, etc.). Thus, in this example, vehicle 200 mayenable the calibration mode if it determines that the vehicle iscurrently stationary. Additionally or alternatively, for example, thevehicle may enable a sensing mode of the device and/or disable thecalibration mode in response to a determination that the vehicle ismoving in the environment.

Accordingly, in some examples, method 1100 may involve disabling thecalibration mode of the device based on at least a determination thatthe vehicle is moving in the environment; and/or generating asensing-mode control signal for controlling the actuator based on thecalibration mode being disabled. In these examples, the sensing-modecontrol signal may cause the actuator to rotate the first platform: (i)along a direction of rotation opposite to a direction of the change tothe orientation of the orientation sensor indicated by the sensor outputsignals, and (ii) at a rate of rotation that is based on the rate of thechange to the orientation of the orientation sensor indicated by thesensor output signals. For example, in line with the discussion above, asystem of system 1100 may operate the device in the sensing mode bymodulating the sensing-mode control signal to reduce the magnitude ofmeasurements by the orientation sensor to drive the first platformagainst the rotation of the orientation sensor indicated by the sensoroutput signals. As a result, for example, the system may reduce scalefactor errors of measurements indicated by the sensor output signals ofthe orientation sensor.

It should be understood that arrangements described herein are forpurposes of example only. As such, those skilled in the art willappreciate that other arrangements and other elements (e.g. machines,interfaces, functions, orders, and groupings of functions, etc.) can beused instead, and some elements may be omitted altogether according tothe desired results. Further, many of the elements that are describedare functional entities that may be implemented as discrete ordistributed components or in conjunction with other components, in anysuitable combination and location, or other structural elementsdescribed as independent structures may be combined.

While various aspects and embodiments have been disclosed herein, otheraspects and embodiments will be apparent to those skilled in the art.The various aspects and embodiments disclosed herein are for purposes ofillustration and are not intended to be limiting, with the true scopebeing indicated by the following claims, along with the full scope ofequivalents to which such claims are entitled. It is also to beunderstood that the terminology used herein is for the purpose ofdescribing particular embodiments only, and is not intended to belimiting.

What is claimed is:
 1. A method comprising: generating, at a device thatincludes an actuator configured to rotate a first platform about an axisof rotation, a calibration control signal for controlling the actuator,wherein the calibration control signal causes the actuator to rotate thefirst platform at least one complete rotation about the axis; receiving,from an encoder, encoder output signals indicative of angular positionsof the first platform about the axis; receiving, from an orientationsensor mounted on the first platform, sensor output signals indicativeof a rate of change to an orientation of the orientation sensor; anddetermining, based on given sensor output signals received from theorientation sensor during the at least one complete rotation,calibration data for mapping the encoder output signals to calibratedmeasurements of the angular positions of the first platform about theaxis.
 2. The method of claim 1, wherein the orientation sensor comprisesa gyroscope.
 3. The method of claim 1, further comprising: detectingcompletion of each of the at least one complete rotation of the firstplatform about the axis based on the encoder output signals.
 4. Themethod of claim 1, further comprising: during the at least one completerotation of the first platform about the axis, estimating a rate ofrotation of the first platform based on the given sensor output signals;and modulating the calibration control signal based on the estimatedrate of rotation.
 5. The method of claim 4, wherein modulating thecalibration control signal comprises modulating the calibration signalbased on a difference between the estimated rate of rotation and atarget rate of rotation.
 6. The method of claim 1, further comprising:during the at least one complete rotation of the first platform aboutthe axis, modulating the calibration control signal based on the sensoroutput signals and the encoder output signals.
 7. The method of claim 1,wherein the encoder is a magnetic encoder, the method furthercomprising: identifying a defect in the magnetic encoder based on thecalibration data.
 8. The method of claim 7, wherein the magnetic encoderincludes a plurality of magnets mounted to the first platform andarranged around the axis of rotation of the first platform, and whereinidentifying the defect in the magnetic encoder comprises identifying aparticular magnet of the plurality of magnets that is positioned at anoffset from an expected position of the particular magnet in thearrangement of the plurality of magnets around the axis of rotation. 9.The method of claim 7, wherein the magnetic encoder includes a pluralityof magnets mounted to the first platform and arranged around the axis ofrotation of the first platform, and wherein identifying the defect inthe magnetic encoder comprises identifying a particular magnet of theplurality based on the particular magnet having a particular magneticproperty that is offset from an expected magnetic property.
 10. Themethod of claim 9, wherein the particular magnetic property correspondsto a magnetic field strength, a magnetic polarization direction, a size,or a shape of the particular magnet.
 11. The method of claim 7, whereinthe magnetic encoder includes a plurality of magnets mounted to thefirst platform and arranged around the axis of rotation of the firstplatform, and wherein identifying the defect in the magnetic encodercomprises identifying an offset between a circularity of the arrangementof the plurality of magnets around the axis of rotation and an expectedcircularity.
 12. The method of claim 7, wherein the magnetic encoderincludes a plurality of magnets mounted to the first platform andarranged around the axis of rotation of the first platform, wherein themagnetic encoder includes a magnetic field sensor mounted on a secondplatform opposite the first platform, and wherein identifying the defectin the magnetic encoder comprises identifying a misalignment between theaxis of rotation of the first platform and a normal axis of the secondplatform.
 13. The method of claim 1, further comprising: identifying,based on the calibration data, sinusoidal characteristics of the mappingbetween the encoder output signals and estimated measurements of theangular positions of the first platform indicated by the given sensoroutput signals; generating, based on the identification of thesinusoidal characteristics, a compressed representation of thecalibration data; and storing the compressed representation in datastorage.
 14. The method of claim 13, wherein generating the compressedrepresentation of the calibration data comprises determiningFast-Fourier-Transform (FFT) coefficients indicative of the identifiedsinusoidal characteristics.
 15. The method of claim 1, wherein thedevice is mounted on a vehicle configured to navigate an environmentbased on at least data from the device, the method further comprising:determining whether the vehicle is moving in the environment; and basedon at least a determination that the vehicle is not moving in theenvironment, enabling a calibration mode of the device, whereingenerating the calibration control signal is based on the calibrationmode being enabled.
 16. The method of claim 15, further comprising:based on at least a determination that the vehicle is moving in theenvironment, disabling the calibration mode of the device; and based onthe calibration mode being disabled, generating a sensing-mode controlsignal for controlling the actuator, wherein the sensing-mode controlsignal causes the actuator to rotate the first platform: (i) along adirection of rotation opposite to a direction of the change to theorientation of the orientation sensor indicated by the sensor outputsignals, and (ii) at a rate of rotation that is based on the rate of thechange to the orientation of the orientation sensor indicated by thesensor output signals.
 17. A system comprising: a first platform; anactuator configured to rotate the first platform about an axis; anencoder configured to provide encoder output signals indicative ofangular positions of the first platform about the axis; an orientationsensor mounted on the first platform and configured to provide sensoroutput signals indicative of a rate of change to an orientation of theorientation sensor; and a controller configured to cause the system toperform operations comprising: generating a calibration control signalfor controlling the actuator, wherein the calibration control signalcauses the actuator to rotate the first platform at least one completerotation about the axis; and determining, based on given sensor outputsignals received from the orientation sensor during the at least onecomplete rotation, calibration data for mapping the encoder outputsignals to calibrated measurements of the angular positions of the firstplatform about the axis.
 18. The system of claim 17, further comprising:a plurality of magnets mounted to the first platform and arranged aroundthe axis of rotation of the first platform, wherein the plurality ofmagnets generate a first magnetic field based on the arrangement of theplurality of magnets around the axis of rotation; and a second platformconfigured to remain within a given distance to the first platform inresponse to the actuator rotating the first platform about the axis. 19.The system of claim 18, further comprising: a plurality of conductivestructures disposed in the second platform and arranged around the axisof rotation of the first platform opposite the plurality of magnets ofthe first platform, wherein the actuator includes the plurality ofconductive structures of the second platform and the plurality ofmagnets of the first platform, wherein the plurality of conductivestructures form an electrically conductive path that extends around theaxis of rotation based on the arrangement of the plurality of conductivestructures, wherein the controller is configured to provide thecalibration control signal into the electrically conductive path definedby the plurality of conductive structures, wherein the plurality ofconductive structures generate a second magnetic field based on thecalibration control signal, and wherein the first magnetic field of thefirst platform interacts with the second magnetic field of the secondplatform to cause the first platform to rotate about the axis.
 20. Thesystem of claim 18, further comprising: a magnetic field sensor disposedon a given surface of the second platform, wherein the magnetic fieldsensor is configured to measure the first magnetic field generated bythe plurality of magnets, wherein the encoder includes the plurality ofmagnets of the first platform and the magnetic field sensor of thesecond platform, and wherein the encoder provides the encoder outputsignals indicative of the angular positions of the first platform aboutthe axis based on measurements of the first magnetic field indicated bythe magnetic field sensor.
 21. The system of claim 20, wherein theoperations further comprise: determining sinusoidal measurement errorsin measurements of the angular positions of the first platform indicatedby the encoder output signals during the at least one complete rotation;based on a determination that the sinusoidal measurement errors areassociated with a concentricity of the first magnetic field at the givensurface of the second platform relative to the axis of rotation of thefirst platform, identifying a first misalignment in a relativearrangement of the first platform and the second platform; and based ona determination that the sinusoidal measurement errors are associatedwith a circularity of the arrangement of the plurality of magnets,identifying a second misalignment in the arrangement of the plurality ofmagnets around the axis of rotation of the first platform.
 22. Anon-transitory computer readable medium storing instructions that, whenexecuted by one or more processors of a computing system, cause thecomputing system to perform operations comprising: generating acalibration control signal for controlling an actuator configured torotate a platform about an axis, wherein the calibration control signalcauses the actuator to rotate the platform at least one completerotation about the axis; receiving, from an encoder, encoder outputsignals indicative of angular positions of the platform about the axis;receiving, from an orientation sensor mounted on the platform, sensoroutput signals indicative of a rate of change to an orientation of theorientation sensor; and determining, based on given sensor outputsignals provided by the orientation sensor during the at least onecomplete rotation, calibration data for mapping the encoder outputsignals to calibrated measurements of the angular positions of theplatform about the axis.